首页 > 技术文章 > Smarty中的自定义函数(二)复选框、下拉列表、单选框

shuguoqing 2016-08-22 17:37 原文

接Smarty中的自定义函数(一)

7、html_checkboxes

复选框

 

[php] view plain copy
 
 print?
  1. $ssss1 = array(2,3,4);  
  2. $ssss2 = array('学习','工作','生活');  
  3. $ssss3 = array(2,4);  
  4. $smarty->assign('ssss1',$ssss1);  
  5. $smarty->assign('ssss2',$ssss2);  
  6. $smarty->assign('ssss3',$ssss3);  
  7.   
  8. $suse = array(  
  9.     0 => '学习',  
  10.     1 => '工作',  
  11.     2 => '生活',  
  12. );  
  13. $smarty->assign('suse',$suse);  
  14.   
  15. $smarty->display('html_checkboxes.html');  

html_checkboxes.html

 

 

[html] view plain copy
 
 print?
  1. <{*  
  2.     name,checkbox的name属性  
  3.     values,checkbox中的value  
  4.     output,checkbox中的显示字符  
  5.     selected,已选定的元素  
  6.     separator,checkbox之间的分隔符  
  7.     labels,是否有<label>标签,默认为true  
  8. *}>  
  9.   
  10. <{html_checkboxes name=ssss values=$ssss1 output=$ssss2 selected=$ssss3 separator="<br>"}>  
  11.   
  12. <{*解析后的html代码  
  13.     <label><input type="checkbox" name="ssss[]" value="2" checked="checked" />学习</label><br>  
  14.     <label><input type="checkbox" name="ssss[]" value="3" />工作</label><br>  
  15.     <label><input type="checkbox" name="ssss[]" value="4" checked="checked" />生活</label><br>  
  16. *}>  
  17.   
  18. <br>  
  19.   
  20. <{*  
  21.     name,checkbox的name属性  
  22.     selected,已选定的元素  
  23.     options,包含值和显示的数组,可以是关联数组、也可以是数值数组  
  24.     解析后的value=数组的下标,显示的字符为数组下标对应的值  
  25.     separator,checkbox之间的分隔符  
  26.     labels,是否有<label>标签,默认为true  
  27. *}>  
  28. <{html_checkboxes name=suse options=$suse separtator=" "}>  
  29.   
  30. <{* 解析后的html代码  
  31. <label><input type="checkbox" name="suse[]" value="0" separtator=" " />学习</label>  
  32. <label><input type="checkbox" name="suse[]" value="1" separtator=" " />工作</label>  
  33. <label><input type="checkbox" name="suse[]" value="2" separtator=" " />生活</label>  
  34. *}>  

运行结果:

 

8、html_image

用于显示图片

 

[html] view plain copy
 
 print?
  1. <{*  
  2.     file,必选,文件的位置以调用这个模板文件的PHP文件位置为准  
  3.     border,图片边框  
  4.     height,图片的高度  
  5.     width,图片的宽度  
  6.     basedir,图片文件的相对路径  
  7.     alt,图片的描述信息  
  8.     href,图片的链接地址  
  9. *}>  
  10.   
  11. <{html_image file="./image/1.jpg" border="3" height="90" width="200" alt="搜狗五笔" href="http://www.sougou.com"}>  
  12.   
  13. <{*  
  14.     解析后的html代码  
  15.     <href="http://www.sougou.com"><img src="./image/1.jpg" alt="搜狗五笔" width="200" height="90" border="3" /></a>  
  16. *}>  

运行结果:

 

9、html_options

下拉列表框

 

[php] view plain copy
 
 print?
  1. $ssss1 = array(2,3,4,5);  
  2. $ssss2 = array('学习','工作','生活');  
  3. $ssss3 = array(2);  
  4. $smarty->assign('ssss1',$ssss1);  
  5. $smarty->assign('ssss2',$ssss2);  
  6. $smarty->assign('ssss3',$ssss3);  
  7.   
  8. $suse = array(  
  9.     5 => '学习',  
  10.     6 => '工作',  
  11.     7 => '生活',  
  12. );  
  13. $smarty->assign('suse',$suse);  
  14.   
  15. $smarty->display('html_options.html');  

html_options.html

 

 

[html] view plain copy
 
 print?
  1. <{*  
  2.     values,下拉列表框中option的value值  
  3.     output,下拉列表框中option对应显示的字符  
  4.     selected,已选定的元素  
  5.     name,select的name值,  
  6.         如果没有指定name属性,则只会产生<option>,没有<select></select>标签,  
  7.         即不会显示在页面上,但是是源代码中会有<option>  
  8.     注:  
  9.         如果output的元素比values的元素多,则下拉列表框的option个数以values的元素个数为准  
  10.         如果values的元素比output的元素多,则多余的option有value值,但显示为空  
  11. *}>  
  12.   
  13. <{html_options values=$ssss1 output=$ssss2 selected=$ssss3 name=ssss}>  
  14.   
  15. <{*  
  16.     解析后的html代码  
  17.     <select name="ssss">  
  18.     <option label="学习" value="2" selected="selected">学习</option>  
  19.     <option label="工作" value="3">工作</option>  
  20.     <option label="生活" value="4">生活</option>  
  21.     <option label="" value="5"></option>  
  22.     </select>  
  23. *}>  
  24.   
  25. <{*  
  26.     options,包含options的value和对应显示的字符的数组  
  27. *}>  
  28.   
  29. <{html_options options=$suse name=suse}>  
  30.   
  31. <{*  
  32.     解析后的html代码  
  33.     <select name="suse">  
  34.     <option label="学习" value="5">学习</option>  
  35.     <option label="工作" value="6">工作</option>  
  36.     <option label="生活" value="7">生活</option>  
  37.     </select>  
  38. *}>  

运行结果:
10、html_radios

 

单选框

html_radios.php

 

[php] view plain copy
 
 print?
  1. $ssss1 = array(2,3,4,5);  
  2. $ssss2 = array('学习','工作','生活');  
  3. $ssss3 = 2;//单选框的checked不能为数组  
  4. $smarty->assign('ssss1',$ssss1);  
  5. $smarty->assign('ssss2',$ssss2);  
  6. $smarty->assign('ssss3',$ssss3);  
  7.   
  8. $suse = array(  
  9.     5 => '学习',  
  10.     6 => '工作',  
  11.     7 => '生活',  
  12. );  
  13. $smarty->assign('suse',$suse);  
  14.   
  15. $smarty->display('html_radios.html');  

html_radios.html

 

[html] view plain copy
 
 print?
  1. <{*  
  2.     values,单选框input type="radio"的value值  
  3.     output,单选框对应显示的字符  
  4.     checked,已选定的元素,不能为数组  
  5.     name,input type="radio"的name值,默认为radio  
  6.     separator,每个radio的分隔符  
  7.     注:  
  8.         如果output的元素比values的元素多,则单选框的option个数以values的元素个数为准  
  9.         如果values的元素比output的元素多,则多余的radio有value值,但显示为空  
  10. *}>  
  11.   
  12. <{html_radios values=$ssss1 output=$ssss2 checked=$ssss3 name=ssss separator="<br>"}>  
  13.   
  14. <{*  
  15.     解析后的html代码  
  16.     <label><input type="radio" name="ssss" value="2" checked="checked" />学习</label><br>  
  17.     <label><input type="radio" name="ssss" value="3" />工作</label><br>  
  18.     <label><input type="radio" name="ssss" value="4" />生活</label><br>  
  19.     <label><input type="radio" name="ssss" value="5" /></label><br>  
  20. *}>  
  21. <br>  
  22. <{*  
  23.     options,包含radio的value和对应显示的字符的数组  
  24. *}>  
  25.   
  26. <{html_radios options=$suse name=suse}>  
  27.   
  28. <{*  
  29.     解析后的html代码  
  30.     <label><input type="radio" name="suse" value="5" />学习</label>  
  31.     <label><input type="radio" name="suse" value="6" />工作</label>  
  32.     <label><input type="radio" name="suse" value="7" />生活</label>  
  33. *}>  

运行结果:

推荐阅读