Просмотреть частичные части визуализированы с помощью чистой области переменных ... То есть они не наследуют переменные вида от вызывающего Zend_View
экземпляра.
Там в несколько вариантов, доступных для вас здесь:
Один, просто звоните:
echo $this->render('_header.phtml');
вместо того, чтобы использовать частичный. Этот файл будет иметь доступ ко всем вашим переменным вида, поэтому вы можете просто назначить форму своему представлению в своем контроллере, как и все остальное.
Другой способ явно передать свою форму в качестве переменной для частичной, так как:
echo $this->partial('_header.phtml', array('form' => $this->form));
// $this->form inside your partial will be your form
Другой вариант является либо использовать заполнители, или сегменты ответа макета. Вот пример заполнителей:
В вашем _header.phtml
или макет ... где бы вы хотите, чтобы форма для визуализации:
<?php echo $this->placeholder('header'); ?>
И в контроллере:
$this->view->placeholder('header')->append($form);
// I'm not sure, but you _may_ want to pass in $form->render() here.
// I can't remember if implode() (which is used in placeholders internally)
// will trigger the __toString() method of an object.
Это имеет добавлен бонус, чтобы не загрязнять ваш экземпляр представления одноразовыми переменными, такими как форма.
Примечание. Я свяжусь с страницами руководства, как только сайт ZF будет резервным; 1.9 сегодня, поэтому обновление сайта в настоящее время.
Вот некоторые соответствующие страницы руководства:
Wonderfull ответ, спасибо – opHASnoNAME