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