属性                类型                    是否必须          缺省值 描述
 values          array                    Yes,            unless using
 options       attribute            n/a       包含下拉列表各元素值的数组
 output        array                   Yes,           unless using
 options      attribute            n/a        包含下拉列表各元素显示值的数组
 selected string/array No empty 已选定的元素或元素数组
 options associative  array   Yes,       unless using
 values and output              n/a 包含值和显示的关联数组
 name        string              No empty           下拉菜单的名称
 描述:
 自定义函数 html_options 根据给定的数据创建选项组. 该函数可以指定哪些元素被选定. 要么
 必须指定 values 和 ouput 属性,要么指定 options 替代.
 如果给定值是数组,将作为 OPTGROUP 处理,且支持递归. 所有的输出与 XHTML 兼容.
 如果指定了可选属性 name,该选项列表将将被置于<select name=”groupname”></select>
 标签对中. 如果没有指定,那么只产生选项列表.
 上表未提到的其它参数在 <select> 标签中以”名称/属性”对的方式显示. 如果没有指定可选属
 性 name 这些参数将被忽略.
 例子:
 index.php:
 require(‘Smarty.class.php’);
 $smarty = new Smarty;
 $smarty->assign(‘cust_ids’, array(1000,1001,1002,1003));
 $smarty->assign(‘cust_names’, array(‘Joe Schmoe’,'Jack Smith’,'Jane
 Johnson’,'Carlie Brown’));
 $smarty->assign(‘customer_id’, 1001);
 $smarty->display(‘index.tpl’);
 index.tpl:
 <select name=customer_id>
 {html_options values=$cust_ids selected=$customer_id output=$cust_names}
 </select>
 index.php:
 require(‘Smarty.class.php’);
 $smarty = new Smarty;
 $smarty->assign(‘cust_options’, array(
 1001 => ‘Joe Schmoe’,
 1002 => ‘Jack Smith’,
 1003 => ‘Jane Johnson’,
 1004 => ‘Charlie Brown’));
 $smarty->assign(‘customer_id’, 1001);
 $smarty->display(‘index.tpl’);
 E-Commerce Online Shop 网上商店系统
 16
 index.tpl:
 <select name=customer_id>
 {html_options options=$cust_options selected=$customer_id}
 </select>
 输出:
 <select name=customer_id>
 <option value=”1000″>Joe Schmoe</option>
 <option value=”1001″ selected=”selected”>Jack Smith</option>
 <option value=”1002″>Jane Johnson</option>
 <option value=”1003″>Charlie Brown</option>
 </select>


更多ecshop二次开发技术尽在清枫PHP博客,专注PHP技术,打造用户体验最好的博客,给大家提供更好的交流平台,学习更多ecshop二次开发技术请加ecshop交流群126026608

转载请注明出处:清枫PHP博客