Görünüm Partials temiz bir değişken kapsamı ile işlenir ... Yani arama Zend_View
örnek görünümünden değişkenleri miras kalmamasıdır.
Burada size sunulan birkaç seçenek var:
Biri, sadece çağırır:
echo $this->render('_header.phtml');
Bunun yerine kısmi kullanarak. Bu dosya, tüm görünümü değişkenlerine erişebilir, böylece sadece başka bir şey gibi, kontrolör görünümünüze formu atayabilirsiniz.
Başka bir yolu açıkça şöyle, kısmi bir değişken olarak formunuzu geçmek için:
echo $this->partial('_header.phtml', array('form' => $this->form));
// $this->form inside your partial will be your form
Diğer seçenek kullanım yer tutucular veya düzen tepki kesimleri ya etmektir. İşte tutucuların bir örnek:
Lütfen _header.phtml
, ya da düzen ... nereye formu işlemek istiyorum şimdiye kadar:
<?php echo $this->placeholder('header'); ?>
Ve denetleyicisi:
$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.
Bu form gibi tek-off değişkenler ile görünüm örneği kirletici değil avantaj vardır.
Note: I'll link to the manual pages as soon as the ZF site is back up; 1.9 launch is today, so the site's getting updated currently.
İşte bazı ilgili manuel sayfaları bulunuyor: