0

現在、Zend_Navigation を使用して XML ファイルからメニューを作成しています。これまでのところ、メニューは正しくレンダリングされています。私の問題は、ナビゲーション コンテナー内の特定の場所にページを追加する必要があることです。これまでのところ、私は持っています:

$this->_navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH .
            '/configs/navigation.xml', 'nav');

        $this->_navContainer = new Zend_Navigation($this->_navContainerConfig);

        $this->_navContainer->findById('defaultindex')->addPage(array(
            'label'         => 'Open Prints',
            'module'        => 'default',
            'controller'    => 'artwork',
            'action'        => 'list',
            'params'        => array(
                'medtyp'        => 2),
            'resource'      => 'default:artwork',
            'privilege'     => 'list',
            'route'         => 'default'
        ));

これは、ページ ID「defaultindex」にサブページを追加するだけです。「defaultindex」ページの後にページを追加する必要があります。

これを達成する方法を知っている人はいますか?

事前に多くの感謝とメリークリスマス、

ギャリー

4

1 に答える 1

0

Zend_Navigation_Containerから直接メソッドaddPageを使用できます

$this->_navContainer->addPage(your_array);

すでにコンテナにあるすべてのページの後にページが追加されます。カスタムオーダーが必要な場合は、Zend_Navigation_Containerを拡張し、コンテナ内のページのプロパティ$ _indexを書き換えて、必要な順序で並べ替えるメソッドを追加する必要があります。

于 2012-12-25T12:33:45.473 に答える