0

Zend Navigation を使用する際に問題が発生する要件が常にあります。簡単な例は、ユーザーが「リスト」、「追加」、「編集」、および「削除」ページを必要とする「アルバム」のようなデータベースエンティティを持つシステムです。「リスト」ページと「追加」ページはメニュー システムに含まれていますが、特定の「アルバム」に固有の「編集」ページと「削除」ページは「リスト」ページからリンクされています。

問題は、「編集」または「削除」ページに移動すると、「アルバム」メニュー ブランチが非アクティブになることです。これは明らかに、これらのページがナビゲーション階層にないためです。

を探しています:

  1. これらのページをナビゲーション階層に配置する良い方法ですが、表示はしません。
  2. メニューの適切なブランチをアクティブに保つことができるように、コントローラー内から現在アクティブなブランチを定義する方法。
  3. これを達成する、私が思いもよらなかった方法。

ありがとう

4

1 に答える 1

1

OK上記の潜在的なアプローチからルート1を下る質問を投稿して以来、1つの可能な解決策が見つかりました。

メニュー コンテナを作成するときは、'visible' プロパティを使用します。

    array(
      'label'      => 'Edit Vehicle',
      'action'     => 'update',
      'controller' => 'vehicle',
      'route'      => 'update-vehicle',
      'visible'    => false
    ),
    ...

適切な「アクティブ」な動作を生成する目的でメニューに表示する必要がありますが、表示するのは適切ではありません。

次に、部分的にメニューテストを生成します

$page->isVisible 

そしてそれに応じて反応します。しかし、これは規定の方法ですか?

于 2012-07-24T13:42:32.273 に答える