0

最低限の zf2 アプリケーションがあり、2 つのモジュール (ユーザーとアルバム) があります。

どちらにも独自のレイアウトがありますが、もう少し一貫性を保つために、アルバムのレイアウトをユーザーに使用したいと考えています。

モジュールが使用するレイアウトを委任する最良の方法は何かわかりません..コントローラー__contructから、または個々のアクションごとに、またはmodule.config.phpで。

たぶんここ:

'template_map' => array(
        'layout/top_nav'        => __DIR__ . '/../view/layout/top_nav.phtml',
        'layout/layout'         => __DIR__ . '/../view/layout/layout.phtml', 

          ^^ probably i should set this path to the layout i want to use ^^

        'posts/index/index'     => __DIR__ . '/../view/posts/index/index.phtml',
        'error/404'             => __DIR__ . '/../view/error/404.phtml',
        'error/index'           => __DIR__ . '/../view/error/index.phtml',
    ),

何か案は?おそらくベストプラクティス?

ありがとう

編集:私はこれをやっただけでうまくいきました:

'layout/layout'         => __DIR__ . '/../../album /view/layout/layout.phtml',

しかし、これがベストプラクティスであるかどうかはまだわかりません。

template_map私の場合、複数のアレイをセットアップしてUserコントローラーで使用できるかもしれません

4

1 に答える 1

4

編集:私自身のでたらめを削除しました。別のアプローチを参照してください:)それは機能します

代替アプローチ

Evan Coury は、レイアウト構成をグローバルに利用できるようにする努力もしました。これは、自分のモジュールを公開しない単一の開発者に特に当てはまります。彼のEdpModuleLayouts モジュールはここにあります。

そのモジュール スイッチング レイアウトを使用すると、次のようにさらに簡単になります。

<?php
array(
    'module_layouts' => array(
        'ModuleName' => 'layout/some-layout',
    ),
);

それが役に立てば幸い。

于 2012-09-21T06:19:22.220 に答える