Bir benim önceki posta takibi gibi modül başına dayalı düzen ayarları için Zend Framework , ben (bu uygulama yapılandırma da birkaç satır! daha fazla gerekli değil) daha önce az yapılandırma gerektiren kod güncelledik.
Okuma 'Modülü Düzeni Ayarları Başına Zend Framework - Takip' Devam »
Makaleler , Bilgisayar , PHP , Web Programlama , Zend Framework |
eylem , denetleyici , çerçeve , yardımcı , düzen , modül , PHP , Zend , Zend Framework
Ben daha az yapılandırma gerektirir bu yazı için bir takip yarattım, lütfen Zend Framework - Modül Tabanlı Düzeni .
Kullanırken zend framework modülleri, aynı uygulamayı kapatmak çeşitli (alt-) siteler çalıştırıyorsanız eğer mutlaka aynı istemediğiniz apaçık ortada olan düzeni komut her bir parça için. Ben şu site yapısı ile gitmeye karar verdi:
/ Uygulama
/ Kontrolörleri
...
/ Modelleri
/ Modules
/ Varsayılan
/ Kontrolörleri
/ Düzeni
/ Scripts
/ Views
/ Scripts
/ AnotherModule
...
/ Scripts
Sorun başına modül bazında komut düzeni kuruyor. Bu sorunun cevabı bir Eylem Yardımcısı kullanarak geldi. Başına modül bazında düzen kurma üç adımdan oluşur:
- Application.ini (veya benzeri yapılandırma ayarları):
admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / layouts / scripts"
default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / layouts / scripts"
member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / member / layouts / scripts"
affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / ortaklık / layouts / scripts"
- Lütfen Eylem Yardımcısı oluşturun:
<? Php
/ **
* Başına modül bazında düzeni yolunu ayarlar
*
* @ Author Lloyd Watkin <lloyd@evilprofessor.co.uk>
* @ 2010-01-01 yana
* /
sınıf Pro_Controller_Action_Helper_SetLayoutPath
Zend_Controller_Action_Helper_Abstract uzanır
{
/ **
Modülü dayalı * Setler düzeni yolu
* /
public function preDispatch ()
{
$ Modül = $ this-> GetRequest () -> getModuleName ();
if ($ bootstrap = $ this-> getActionController ()
-> GetInvokeArg ('önyükleme')) {
$ Config = $ bootstrap-> getOptions ();
if (isset ($ config [$ modül] ['kaynaklar'] ['düzen'] ['layoutPath'])) {
$ LayoutPath =
$ Config [$ modül] ['kaynaklar'] ['düzen'] ['layoutPath'];
$ This-> getActionController ()
-> GetHelper ('düzen')
-> SetLayoutPath ($ layoutPath);
}
}
}
} - Ve son olarak eylem yardımcı boostrap:
...
/ **
* Başına modül bazında düzeni komut kurar
* /
koruma fonksiyonu _initLayoutHelper ()
{
$ This-> bootstrap ('frontController');
$ Düzeni = Zend_Controller_Action_HelperBroker :: addHelper (
Yeni Pro_Controller_Action_Helper_SetLayoutPath ());
}
...