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>

 

附:

Smarty {html_options} 的官方教程

{html_options}是一個自定義函數, 可以使用提供的數據,生成HTML的<select><option>標簽,還可以設置選中項等屬性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM