1

現在、ZF1アプリケーションをZF2にマッピングしていますが、ZF2に$this->view->getScriptPath()ZF1のような同様の機能があるかどうか疑問に思っていましたか?私はすでに半日を過ごしましたが、良い解決策が見つかりませんでした。少なくともモジュールのbasePathまたはモジュールのテンプレートフォルダを取得することできます

4

1 に答える 1

1

フォローアップの質問に基づいて、あなたが本当に探しているのは、特定のテンプレートファイルへのパスです。デフォルトのPhpRendererを使用していると仮定すると、これは実際には比較的簡単です。リゾルバーを取得して、パスを解決します。

すでにビュースクリプト内にいる場合は、次のように機能するはずです。

$path = $this->resolver($templateName);

他の場所にいる場合は、PhpRendererまたはViewResolverのいずれかにアクセスする必要があります。サービスマネージャにアクセスできる場合は、ViewResolverサービスをプルし、resolve()を呼び出します。

$resolver = $services->get('ViewResolver');
$path     = $resolver->resolve($templateName);

これは、開発者がアプリケーション内のテンプレートをオーバーライドすることを選択した可能性があるため、モジュールがどこにあるかを知るよりも優れています。リゾルバーは、新しい場所でさえどこにあるかを認識します。

于 2012-10-29T16:47:45.353 に答える