2016-12-15 152 views
0

我有2個表格:表格模塊包含模塊。模塊是一個包含字段的表格。表格模塊是一張表格。Smarty以特定順序顯示錶格

另一個表被選中,其中包含選定的字段。

模塊= {模塊1}

模塊1 = {姓名,年齡,日期,添加}

選擇= {年齡,姓名,日期}

在選定的顯示在我的TPL的字段這種方式:

{foreach key=m_key item=m_label from=$Modules } 
    {foreach key=f_key item=f_label from=$m_label } 
    <option value="{$ f_key}" {if !empty($Selected) && in_array($f_key,array_map('decode_html',$Selected))}selected=""{/if}>{vtranslate($f_key, $TEST)}</option> 
    {/foreach} 
{/foreach} 

顯示如下: {姓名,年齡,日期}

我希望顯示的順序與所選內容相同:{年齡,姓名,日期}

任何想法如何做到這一點?

回答

0
{foreach key=m_key item=m_label from=$Modules } 

    {php} 
    $m_label = !empty($Selected) ? array_merge(array_intersect($Selected, $m_label), array_diff($m_label, $Selected)) : $m_label; 
    {?php} 

    {foreach key=f_key item=f_label from=$m_label } 
     <option value="{$ f_key}" {if !empty($Selected) && in_array($f_key,array_map('decode_html',$Selected))}selected=""{/if}>{vtranslate($f_key, $TEST)}</option> 
    {/foreach} 
{/foreach} 

我不知道我的意圖是否正確。希望上面的代碼可以幫助。