我有这个模板:
{?doesExtend}
{>base_template/}
{<param}
<div id='abc'>{foo}</div>
<div id='def'>{bar}</div>
<div id='ghi'>{bas}</div>
{/param}
{:else}
<div id='abc'>{foo}</div>
<div id='def'>{bar}</div>
<div id='ghi'>{bas}</div>
{/doesExtend}
这有效,但它不干......我必须把HTML放两次。我怎样才能做到如果doExtend存在,那么它会将模板扩展到基本模板,如果它不存在,那么它就不会扩展它并按照DRY的方式呈现它?
答案 0 :(得分:1)
我只是将重复的代码移动到一个单独的部分。
{! "div_template" !}
<div id='abc'>{foo}</div>
<div id='def'>{bar}</div>
<div id='ghi'>{bas}</div>
然后您的原始模板将如下所示:
{?doesExtend}
{>base_template/}
{<param}
{>div_template/}
{/param}
{:else}
{>div_template/}
{/doesExtend}