Smarty中的自定义函数(二)复选框、下拉列表、单选框

本文是Smarty自定义函数系列的第二部分,主要介绍如何使用html_checkboxes创建复选框,html_image显示图片,html_options构建下拉列表,以及html_radios实现单选框的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

7、html_checkboxes

复选框

$ssss1 = array(2,3,4);
$ssss2 = array('学习','工作','生活');
$ssss3 = array(2,4);
$smarty->assign('ssss1',$ssss1);
$smarty->assign('ssss2',$ssss2);
$smarty->assign('ssss3',$ssss3);

$suse = array(
	0 => '学习',
	1 => '工作',
	2 => '生活',
);
$smarty->assign('suse',$suse);

$smarty->display('html_checkboxes.html');
html_checkboxes.html

<{*
	name,checkbox的name属性
	values,checkbox中的value
	output,checkbox中的显示字符
	selected,已选定的元素
	separator,checkbox之间的分隔符
	labels,是否有<label>标签,默认为true
*}>

<{html_checkboxes name=ssss values=$ssss1 output=$ssss2 selected=$ssss3 separator="<br>"}>

<{*解析后的html代码
	<label><input type="checkbox" name="ssss[]" value="2" checked="checked" />学习</label><br>
	<label><input type="checkbox" name="ssss[]" value="3" />工作</label><br>
	<label><input type="checkbox" name="ssss[]" value="4" checked="checked" />生活</label><br>
*}>

<br>

<{*
	name,checkbox的name属性
	selected,已选定的元素
	options,包含值和显示的数组,可以是关联数组、也可以是数值数组
	解析后的value=数组的下标,显示的字符为数组下标对应的值
	separator,checkbox之间的分隔符
	labels,是否有<label>标签,默认为true
*}>
<{html_checkboxes name=suse options=$suse separtator=" "}>

<{* 解析后的html代码
<label><input type="checkbox" name="suse[]" value="0" separtator=" " />学习</label>
<label><input type="checkbox" name="suse[]" value="1" separtator=" " />工作</label>
<label><input type="checkbox" name="suse[]" value="2" separtator=" " />生活</label>
*}>
运行结果:

8、html_image

用于显示图片

<{*
	file,必选,文件的位置以调用这个模板文件的PHP文件位置为准
	border,图片边框
	height,图片的高度
	width,图片的宽度
	basedir,图片文件的相对路径
	alt,图片的描述信息
	href,图片的链接地址
*}>

<{html_image file="./image/1.jpg" border="3" height="90" width="200" alt="搜狗五笔" href="http://www.sougou.com"}>

<{*
	解析后的html代码
	<a href="http://www.sougou.com"><img src="./image/1.jpg" alt="搜狗五笔" width="200" height="90" border="3" /></a>
*}>
运行结果:

9、html_options

下拉列表框

$ssss1 = array(2,3,4,5);
$ssss2 = array('学习','工作','生活');
$ssss3 = array(2);
$smarty->assign('ssss1',$ssss1);
$smarty->assign('ssss2',$ssss2);
$smarty->assign('ssss3',$ssss3);

$suse = array(
	5 => '学习',
	6 => '工作',
	7 => '生活',
);
$smarty->assign('suse',$suse);

$smarty->display('html_options.html');
html_options.html

<{*
	values,下拉列表框中option的value值
	output,下拉列表框中option对应显示的字符
	selected,已选定的元素
	name,select的name值,
		如果没有指定name属性,则只会产生<option>,没有<select></select>标签,
		即不会显示在页面上,但是是源代码中会有<option>
	注:
		如果output的元素比values的元素多,则下拉列表框的option个数以values的元素个数为准
		如果values的元素比output的元素多,则多余的option有value值,但显示为空
*}>

<{html_options values=$ssss1 output=$ssss2 selected=$ssss3 name=ssss}>

<{*
	解析后的html代码
	<select name="ssss">
	<option label="学习" value="2" selected="selected">学习</option>
	<option label="工作" value="3">工作</option>
	<option label="生活" value="4">生活</option>
	<option label="" value="5"></option>
	</select>
*}>

<{*
	options,包含options的value和对应显示的字符的数组
*}>

<{html_options options=$suse name=suse}>

<{*
	解析后的html代码
	<select name="suse">
	<option label="学习" value="5">学习</option>
	<option label="工作" value="6">工作</option>
	<option label="生活" value="7">生活</option>
	</select>
*}>
运行结果:
10、html_radios

单选框

html_radios.php

$ssss1 = array(2,3,4,5);
$ssss2 = array('学习','工作','生活');
$ssss3 = 2;//单选框的checked不能为数组
$smarty->assign('ssss1',$ssss1);
$smarty->assign('ssss2',$ssss2);
$smarty->assign('ssss3',$ssss3);

$suse = array(
	5 => '学习',
	6 => '工作',
	7 => '生活',
);
$smarty->assign('suse',$suse);

$smarty->display('html_radios.html');
html_radios.html

<{*
	values,单选框input type="radio"的value值
	output,单选框对应显示的字符
	checked,已选定的元素,不能为数组
	name,input type="radio"的name值,默认为radio
	separator,每个radio的分隔符
	注:
		如果output的元素比values的元素多,则单选框的option个数以values的元素个数为准
		如果values的元素比output的元素多,则多余的radio有value值,但显示为空
*}>

<{html_radios values=$ssss1 output=$ssss2 checked=$ssss3 name=ssss separator="<br>"}>

<{*
	解析后的html代码
	<label><input type="radio" name="ssss" value="2" checked="checked" />学习</label><br>
	<label><input type="radio" name="ssss" value="3" />工作</label><br>
	<label><input type="radio" name="ssss" value="4" />生活</label><br>
	<label><input type="radio" name="ssss" value="5" /></label><br>
*}>
<br>
<{*
	options,包含radio的value和对应显示的字符的数组
*}>

<{html_radios options=$suse name=suse}>

<{*
	解析后的html代码
	<label><input type="radio" name="suse" value="5" />学习</label>
	<label><input type="radio" name="suse" value="6" />工作</label>
	<label><input type="radio" name="suse" value="7" />生活</label>
*}>
运行结果:
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值