3

現在、zendを使用してアプリケーションを開発しており、アプリをモジュールに分割しています。

デフォルトのモジュールは、ログインしていないユーザーがアクセスし、自由に見回すことができるメインサイトです。ログインすると、ユーザータイプに応じて、モジュールAまたはモジュールBのいずれかに移動します。これらは、単純なACLによって制御されます。モジュールAにアクセスできる場合、モジュールBにアクセスすることはできません。その逆も同様です。どちらのユーザータイプもデフォルトのモジュールを見ることができます。

次に、Zend_Navigationを使用して、すべてのモジュールのアプリケーションナビゲーション全体を管理します。私が見たすべての例はモジュールまたは非常に単純なアプリケーション内で機能するため、これをどのように行うかはわかりません。

私はnavigation.xmlファイルを次のように見せようとしました:

<configdata>
<navigation>

        <label>Home</label>
        <controller>index</controller>
        <action>index</action>
        <module>default</module>

        <pages>
            <tour>
                <label>tour</label>
                <controller>tour</controller>
                <action>index</action>
                <module>default</module>
            </tour>

            <blog>
                <label>blog</label>
                <url>http://blog.mysite.com</url>                   
            </blog>

            <support>
                <label>Support</label>
                <controller>support</controller>
                <action>index</action>
                <module>default</module>
            </support>

        </pages>

</navigation>
</configdata>

これはデフォルトのモジュールでは問題ない場合ですが、他のモジュールをこのナビゲーションページに移動するにはどうすればよいですか?各モジュールには独自のホームページなどがあります。

ACLを処理するために作成したpreDispatchプラグインにロードされるモジュールごとに一意のnavigation.xmlファイルを追加する方がよいでしょうか?または、それらを1つの巨大なナビゲーションファイルに保存しますか?

どんなヒントも素晴らしいでしょう。

ありがとう、

許す

4

1 に答える 1

0

許す、

私は通常、各モジュールの下にconfigディレクトリを作成し、その中にnavigation.xmlドキュメントを配置します。これは、相互依存の問題を軽減するのに役立ちます。

于 2011-02-06T01:03:48.797 に答える