广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > Ecshop模板中html_options用法详解

二次开发Ecshop二次开发

二次开发Ecshop二次开发

Ecshop模板中html_options用法详解

程序部分

<?php $smarty->assign(\\\'status_list\\\', $_LANG[\\\'cs\\\']); // 订单状态 $smarty->display("index.dwt"); ?>

模板部分

<select name="status" id="status"> {html_options options=$status_list} </select>

可见smarty的html_options接受的其实是一个数组,并且这个数组的键值将是option的value值,而数组的值则将是option的显示值 ,如果要让某个选项初始化为选择状态,

那么,要在模板中指定这个选项的selected=$status_id

 

程序部分

$smarty->assign(\\\'status_id\\\', -1); $smarty->assign(\\\'status_list\\\', $_LANG[\\\'cs\\\']); // 订单状态 $smarty->display("index.dwt");

模板部分

<select name=customer_id> {html_options options=$status_list selected=$status_id} </select>

显示如下:

<select id="status" name="status"> <option value="-1" selected="">请选择...</option> <option value="0">待确认</option> <option value="100">待付款</option> <option value="101">待发货</option> <option value="102">已完成</option> <option value="1">付款中</option> <option value="2">取消</option> <option value="3">无效</option> <option value="4">退货</option> </select>

 

html_options还有一种用法,option的value和显示是分开的,这样方便处理其他的一些情况

具体用法如下

index.php:

$smarty->assign(\\\'cust_ids \\\', array(100,200,300,400)); $smarty->assign(\\\'cust_names \\\', array(\\\'Joe Schmoe\\\',\\\'Jack Smith\\\',\\\'Jane Johnson\\\',\\\'Carlie Brown\\\')); $smarty->assign(\\\'customer_id\\\', 100); $smarty->display(\\\'index.dwt\\\');

 

index.dwt:

<select name=customer_id> {html_options values=$cust_ids selected=$customer_id output=$cust_names } </select>

{html_options}是一个自定义函数, 可以使用提供的数据,生成HTML的<select><option>标签,还可以设置选中项等属性。