ビューヘルパーも良い考えです。私はeコマースのWebサイトを持っていました。これには、データベースから取得する必要のあるカテゴリとサブカテゴリのメニューを含む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[]=
ビュー/ヘルパーに、Menusというファイルがありました。
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();
レイアウトをレンダリングするためにデータベースからデータを取得する必要がある人に役立つことを願っています。