Zend Framework - paylaşılan görünüm script yolu (küresel Partials)

3 Cevap php

Nasıl Partials Zend Framework içinde küresel partials oluşturmak için ortak bir görünüm dosyası yolunu kurmak mümkün mü?

Biz modüller arasında partials arayabilirsiniz biliyorum

e.g  -  echo        $this->partial('partial_title','module_name');

ama biz tüm görünümleri tarafından accessble böylece (yani modülleri aşağıda) kök kısmi bir klasör kurmak gerekir.

Bu paylaşılan bir görünüm dosyası yolunu, Bu nasıl yapılır kurmak için ileri sürülmüştür?

3 Cevap

Zend_View bir Zend_Controller_Action sınıfta gibi bir şey yapabileceğini, böylece addScriptPath denilen bir yöntem vardır:

$this->view->addScriptPath("/path/to/your/view/scripts/");

Eğer render veya partial veya partialLoop Şimdi çağırdığınızda, bu yol yolları dahil edilecektir.

Cevap için teşekkürler

Yanıtınız için teşekkürler. Nedeniyle bir yönlendirme eklentisi bunun dışında modüllerin arandı kısmi çağrı varsayılan çağırarak, modüller için kullanıyor gibi görünüyor

yani>

( array( 'default' => self::$root . '/app/controllers', 'siteadmin' => self::$root . '/app/modules/siteadmin/controllers', 'myadmin' => self::$root . '/app/modules/myadmin/controllers', 'stats' => self::$root . '/app/modules/stats/controllers' ) );

Ben bir çözüm var. Biz görüş konumunu belirterek yapabilirsiniz:

Form Modülü / Controller sayfasında yukarıdaki gibi kısmi çağrılması

Yöntem 1:

$ This-> görünüm-> addScriptPath ("/ ModuleConatinerDirectory / ModülAdı / view / scripts /");

Sonra kullanarak yükleyin:

$ Mesaj = $ this-> görünüm-> kısmi ('şablonlar / default.phtml', 'iletişim', array ('var' => 'var');

İkinci seçenek için, lütfen aşağıdaki bilgileri okuyun:

http://framework.zend.com/issues/browse/ZF-6201

Şimdi benim şüphe tüm modüller için Bootstrap dosya üzerinde doğrudan ayarını mümkün olup olmadığını, nedir? Eğer öyleyse, nasıl iki modül Module1'deki ve Module2'de için bu ayarlayabilirsiniz

$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper( 'viewRenderer' ); $viewRenderer->setViewBasePathSpec( '/some/absolute/path/to/templates/:module/' );