ヘルプヘルパーも良いアイデアです。私は電子商取引のウェブサイトを持っていました。これにはデータベースから持ってくる必要があるカテゴリとサブカテゴリを持つメニューがあるlayout.phtmlがありました。このため
は、私は次のようでした:
bootstrap.phpの:
protected function _initHelperPath()
{
$view = $this->bootstrap('view')->getResource('view');
$view->setHelperPath(APPLICATION_PATH . '/views/helpers', 'View_Helper');
}
のapplication.ini:
ビュー/ヘルパーで
resources.view[]=
、私はメニューと呼ばれるファイルを持っていました:
class View_Helper_Menus extends Zend_View_Helper_Abstract {
public function categories(){
$categories = new Application_Model_DbTable_Categories();
return $categories->fetchAll();
}
public function subCategories(){
$subCategories = new Application_Model_DbTable_SubCategories();
return $subCategories->fetchAll();
}
}
layout.phtmlでは、私は特定のヘルパーを呼び出し、そこからメソッドを呼び出す必要がありました:
$menu = $this->getHelper('Menus');
$categories = $menu->categories();
$subCategories = $menu->subCategories();
は、レイアウトをレンダリングするために、データベースからのデータを持参する必要が誰かに役立ちます願っています。
私はこのプラグイン(どこのフォルダ?)をどこに置くのですか?他の人のリファレンスのために私が今投稿する別の解決策があります。 – sfusion
Zend_Controller_Front :: getInstance() - > registerPlugin(new My_Layout_Plugin()); '? –
その行はどこでも動作しますが、これを行う通常の場所はブートストラップクラスです –