2

ZF で約 3 つのメニューを印刷しようとしています。現在、私は1つも出すことができません。何が起こっているのか、マニュアルでそれを機能させる方法について言及されていない理由はよくわかりません。

これは私のlayout.phtmlです:

<body>
    <?php echo $this->layout()->nav; ?>
    <?php echo $this->layout()->content; ?>
</body>

これがナビゲーションの作成方法であるかどうかは完全にはわかりませんが、ローカライズのために最終的にルートを変更する予定です。

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <nav>
        <register>
            <label>Register</label>
            <controller>register</controller>
            <action>index</action>
        </register>
</nav>
</config>

私はブートストラップでこれを持っています:

    protected function _initNavigation() 
{

    // Navigation
    $config = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
    $container = new Zend_Navigation($config);

}

コンテンツのみが表示されます... show(topMenu)、show(loggedinSideMenu) のようなさまざまなメニュー タイプを使用できるようにしたい

何か案が?ありがとう

4

1 に答える 1

1

ここでいくつかのこと...

まず、ナビゲーションを表示するには、適切なヘルパーを使用します。レイアウトファイルで...

<?php echo $this->navigation()->menu()
    ->renderMenu($zendNavigationContainer) ?>

http://framework.zend.com/manual/en/zend.navigation.introduction.htmlおよびhttp://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpersを参照してください。 .initial.navigation

第二に、ナビゲーション用Zend_Applicationのリソース プラグインがありますが、実際には役に立たない 1 つのコンテナーしか処理できません。Bootstrap メソッドでこのようなことをお勧めします...

protected function _initNavigation()
{
    // get config and create containers as before

    // bootstrap layout resource and retrieve it
    $this->bootstrap('layout');
    $layout = $this->getResource('layout');

    // add containers as layout properties
    $layout->topMenu = $topMenuContainer;
    $layout->loggedInSideMenu = $sideMenuContainer;
}

次に、レイアウトで

<!-- top menu -->
<?php echo $this->navigation()->menu()
    ->renderMenu($this->layout()->topMenu) ?>

<!-- side menu -->
<?php echo $this->navigation()->menu()
    ->renderMenu($this->layout()->loggedInSideMenu) ?>
于 2011-10-26T00:22:33.800 に答える