私は zend を初めて使用し、サイトの一部にナビゲーション メニューを作成したいと考えています。たとえば、20 ページあるとしますが、5 項目のメニューを作成し、4 ページのみ表示したいとします。これはばかげた質問かもしれませんが、ブートストラップではなくコントローラーで作成する方法はありますか? 私は本当にこれの例を見つけることができません:(
質問する
320 次
1 に答える
3
おそらくビューヘルパーですか?このようにして、表示したい 4 ページのビュー スクリプトから呼び出すことができます。
<?php
class Default_View_Helper_ShortNav extends Zend_View_Helper_Abstract
{
/**
* Generate a Zend_Navigation object
* @return Zend_Navigation
*/
public function shortNav()
{
//psudo code
$pages = array();
$model = new Default_Model_Pages();
$rows = $model->fetchAll();
foreach($rows as $page)
{
$pages[] = array(
'label' => $page->title,
'module' => 'default',
'controller' => 'index',
'action' => 'page',
'params' => array('page' => $page->slug),
'containerClass' => 'page',
);
}
$nav =new Zend_Navigation();
$nav->addPage(
array(
'label' => 'Pages',
'route' => 'index', //route name
'params' => array(), //route parameters
'pages' => $pages
)
);
return $nav;
}
}
ビュー スクリプトで:
<?php
$nav = $this->shortNav();
echo $this->navigation($nav);
ビュー ヘルパーでは、必要なページのみを選択するように fetch all を変更する必要があります。ビュー スクリプトでは、エコーを if ステートメントでラップして、表示したいページにのみ表示する必要があります。
これが役に立つことを願っています。
于 2012-04-24T10:16:36.440 に答える