5

次のように、テンプレート内にテンプレートを含めようとしています。

親.tt

  <div class="row-fluid">
    <div class="span3">
    [% INCLUDE my_sidebar]
    </div><!--/span-->
   </div>

my_sidebar.tt は、parent.tt と同じフォルダー (/myapp/views) にあります。

config.yml に次の変更を加えました。

template: "template_toolkit"
engines:
   template_toolkit:
     encoding:  'utf8'
     start_tag: '[%'
     end_tag:   '%]'
     ABSOLUTE : 1

parent.tt には以下が含まれます。

[% INCLUDE /myapps/views/my_sidebar %]

相対で

template: "template_toolkit"
engines:
   template_toolkit:
     encoding:  'utf8'
     start_tag: '[%'
     end_tag:   '%]'
     RELATIVE : 1
     INCLUDE_PATH: /myapps/views

parent.tt には以下が含まれます。

[% INCLUDE my_sidebar %]

しかし、どちらの場合も、次のエラーが発生します。

core - template - file error - my_sidebar: not found at /.../csm/64-bit/cpan/5.16.1-2012.09/lib/Dancer/Template/Abstract.pm line 90.
4

1 に答える 1

5

完全なファイル名を含める必要がありますmy_sidebar.tt-- INCLUDE. Dancer は構成可能な拡張子 (.ttデフォルト) をメイン テンプレートの名前に自動的に追加しますが、TT はその設定を認識しません。

于 2013-02-12T14:15:13.063 に答える