2013-03-29 4 views
1

Я использую ZEND частичного помощника:что случилось с этой ошибкой?

<?php echo $this->partial(include_once('../application/views/layouts/header.phtml'), array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); ?> 

В header.phtml:

<?php echo $this->escape($this->from) ?> 

, когда я пытаюсь использовать его, у меня есть сообщение об ошибке:

exception 'Zend_View_Exception' with message 'script '1' not found in path (Y:/home/local.mekheda/application/modules/blog/views\scripts/;Y:\home\local.mekheda\application/views\scripts/)' in Y:\home\local.mekheda\library\Zend\View\Abstract.php:980

Почему это 1 и что неправильно?

ответ

3

Вам не нужно include_once директиву. Используйте только путь к частичному зрения:

$this->partial('../application/views/layouts/header.phtml', array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); 

В include_once возвращается 1 на успех, следовательно, сообщение об ошибке.

Update:
Не уверен, что я полностью понимаю вопрос с вашего комментария, но почему бы не поставить все HTML в частичном виде:

// header.phtml 
<div id="logo_page"><img src="<?php echo $this->img; ?>" /></div> 

и передать его в частичном виде выглядит следующим образом:

$this->partial('../application/views/layouts/header.phtml', array('img' => 'css/images/master.pg')); 

Примечание: если файл css/images/master.png находится под вашим public каталог вы можете передать его, как я, без использования ../

+0

Запрошенных скрипты не может включать в себя родительский каталоге обхода (»../ "," .. \ "обозначение) Я пробовал разные темы, у меня есть эта ошибка – Stopper

+1

Да, правильно. Вы должны поместить частичные представления в ту же папку, где находится ваше представление. [RTFM] (http://framework.zend.com/manual/1.12/en/zend.view.helpers.html#zend.view.helpers.initial.partial), чтобы посмотреть, как это делается. ;-) – Havelock

+0

Что делать, если мне это нужно в разных представлениях? мне нужно дублировать header.html? – Stopper

1

используется частичное неправильно - бросать include_once заявление

echo $this->partial(
    '../application/views/layouts/header.phtml', 
    array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); 
1

Места «header.phtml» в YourApplicationFolder/модули/Application/View/Partials

< ?php echo $this->partial('partials/header.phtml', 
          array('from' => '<div id="logo_page"><img src="../css/images/master1.png"></div>')); ?> 
+0

с сообщением 'script' /partials/header.phtml 'не найден в пути – Stopper

+1

Место "header.phtml" в YourApplicationFolder/modules/Application/view/partials – Arvind

+0

Возможно, вы знаете в моем массиве эту строку:'

'и html response это как текст, но не html буксиры, что я могу сделать? – Stopper

Смежные вопросы