簡體   English   中英

需要有關防塵模板的建議

[英]need advice on dust temmplate

我剛接觸塵土(linkedin),只是從事我的第一個小模板。 編寫了明顯(但很長)的方法后,我想到了使用內聯部分進行優化的方法。 長版本如下所示:

{#parcours}<tr class="pcsel_pc" id="{id}">
<td class="pcsel_exp_btn"><a href="#"  class="list{?exp}Hide{:else}Exp{/exp}Btn">
<span class="glyphicon glyphicon-{?exp}minus{:else}plus{/exp}"></span></a></td>
<td class="pcsel_col">{name}</td><td class="pcsel_col pcsel_num">{count}</td>
</tr>
{?exp}
{#variants}
<tr class="pcsel_var{?sel} pcsel_sel{/sel}" id="{id}" >
<td class="pcsel_col">&nbsp;</td><td class="pcsel_var pcsel_col">{name}</td>
<td class="pcsel_col pcsel_num">{count}</td>
</tr>
{/variants}
{:else}
{#variants}
<tr class="pcsel_var pcsel_hide" id="{id}" >
<td class="pcsel_col">&nbsp;</td><td class="pcsel_var pcsel_col">{name}</td>
<td class="pcsel_col pcsel_num">{count}</td>
</tr>
{/variants}
{/exp}
{/parcours}

說明:我有一個上下文parcours,其中包含一個內部上下文變量。 如果變量exp在外部上下文中不存在,則我想在內部上下文中使用類pcsel_hide。 此解決方案有效,但是內部上下文的代碼包含兩次,這很愚蠢。 因此,我想到了一種使用內聯部分的方法,該部分在外部上下文中有條件地設置,並在內部上下文中使用:

{#parcours}<tr class="pcsel_pc" id="{id}">
<td class="pcsel_exp_btn"><a href="#"  class="list{?exp}Hide{:else}Exp{/exp}Btn">
<span class="glyphicon glyphicon-{?exp}minus{:else}plus{/exp}"></span></a></td>
<td class="pcsel_col">{name}</td><td class="pcsel_col pcsel_num">{count}</td>
</tr>
{?exp}{<hide/}{:else}{<hide} pcsel_hide{/hide}{/exp}
{#variants}
<tr class="pcsel_var{+hide/}{?sel} pcsel_sel{/sel}" id="{id}" >
<td class="pcsel_col">&nbsp;</td><td class="pcsel_var pcsel_col">{name}</td>
<td class="pcsel_col pcsel_num">{count}</td>
</tr>
{/variants}
{/parcours} 

這個版本不錯,很短,但是似乎沒有用。 我一直看到類pcsel_hide,即使外部上下文包含exp並因此使用正確的類。 有任何想法嗎 ?

這是因為在模板渲染開始之前會靜態評估內聯部分。 使用相同名稱定義的內聯部分的最新版本將獲勝。

不能像這樣有條件地評估內聯部分。 相反,您可能想要使用{@eq}類的邏輯幫助器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM