0

これは説明が少し複雑です。私のユースケースは次のとおりです。

次のファイルシステム構造があるとします。

/client/name/web/dashboard.twig <- extends dashboard.twig - file might not exist
/app/name/web/dashboard.twig    <- extends dashboard.twig - file might not exist
/web/dashboard.twig             <- extends layout.twig    - file always exists
/web/layout.twig                <- the base template      - file always exists

を実行すると仮定する$twig->render('dashboard.twig');と、一番上から開始し、dashboard.twig上記で指定した順序で順番に実行し続ける必要があります。

現在の問題は、twig が毎回最初のテンプレート ファイルをロードしようとして無限ループに陥ることです。レシピ セクションには、パスを使用してこれを回避する例があります。私の場合、いくつかの問題があるため、これは機能しません。

  1. の開発者は、ファイル/client/name/web/dashboard.twigを認識しないでください。/app/name/web/dashboard.twig
  2. パス セグメントを特定することはまだ不可能であるため、nameパスの概念は機能しません。

私が考えることができる唯一の解決策は、どういうわけかtwigにプラグインし、テンプレートファイルがロードされるとすぐに「ポップアウト」するように指示して、無限ループを排除することです。

API ドキュメントのこの部分は役に立つようです: http://twig.sensiolabs.org/api/master/Twig_Loader_Filesystem.html

4

1 に答える 1