Smarty按特定顺序显示表格

I have 2 tables: tables Modules contains Module. Module is a table which contains fields. Tables Modules is a table of tables.

The other table is Selected which contains selected fields.

Modules = {Module1}

Module1 = {Name, Age, Date, Add}

Selected = {Age, Name, Date}

The fields in Selected are displayed in my tpl this way:

{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}

The display is as follows: {Name, Age, Date}

I want the display to be in the same order as in Selected : { Age, Name, Date}

Any idea how to do this?

{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}

I don't know if I get your intention right. Hope the above code could help.