テンプレートを使用するか、一時的にオーバーライドして、new(\%config)WRAPPER
に設定され た a を無効にする方法はありますか? デフォルトは 1 つ(テンプレートの 99.9% に使用する) にしたいのですが、一部を除外します。parse()
WRAPPER
すべてのテンプレートに適用したくないことを除いて、構成の概要Catalyst::View::TT
の例と同じようにこれをすべて実行しています。WRAPPER
テンプレートを使用するか、一時的にオーバーライドして、new(\%config)WRAPPER
に設定され た a を無効にする方法はありますか? デフォルトは 1 つ(テンプレートの 99.9% に使用する) にしたいのですが、一部を除外します。parse()
WRAPPER
すべてのテンプレートに適用したくないことを除いて、構成の概要Catalyst::View::TT
の例と同じようにこれをすべて実行しています。WRAPPER
ラッパーを編集して、次のような条件を含めます。
[% IF no_wrapper OR template.no_wrapper %] [% content %] [% ELSE %]
top;
[% content %]
bottom;
[% END %]
これにより、(1) テンプレート内、または (2) 隠し場所からラッパーを無効にすることができます。
[%- META no_wrapper = 1 -%]
$c->stash->{no_wrapper} = 1
META var ...;
次のようにハッシュをvar
介してアクセスできるようにするディレクティブですtemplate
template.var
ソース: http://wiki.catalystframework.org/wiki/gettingstarted/howtos/template_wrappers
それ自体で例外を定義しますsite/wrapper
。ところで、既に定義されている例外があります。
[% IF template.name.match('\.(css|js|txt)');
debug("Passing page through as text: $template.name");
content;
ELSE;
debug("Applying HTML page layout wrappers to $template.name\n");
content WRAPPER site/html + site/layout;
END;
-%]
私は同じ問題に遭遇し、レイアウトの動的な切り替えを可能にする、またはレイアウトをまったく持たない、より一般化されたソリューションを作成しました。ここを参照してください: