下拉列表的功能有点儿类似单选框,为用户提供多个选项,但是仅返回一个值。对使用者而言,下拉列表确定一个值需要至少三个步骤,点击显示菜单 -> 下拉至选定项 -> 点击选定。对比单选框,劣势是操作上更为繁琐,当然也有它的有点,当备选项比较多的时候,将其包裹在一个下拉列表中,能让设置页看起来更为整洁清爽,不会让用户产生繁琐复杂的第一印象。
参数回顾
继续用老内容凑字数,Typecho_Widget_Helper_Form_Element_Text这个类支持5个参数,作为兄弟类Typecho_Widget_Helper_Form_Element_Select也一样,不同的是,对于Select元素来说,这5个参数都有用武之地:
$name 表单输入项名称
$options 选择项
$value 表单默认值
$label 表单标题
$description 表单描述
下拉列表示例代码
function themeConfig($form) {
$beianInfo = new Typecho_Widget_Helper_Form_Element_Select('beianInfo', array(
'show' => '显示',
'hide' => '不显示'
), 'show', _t('显示备案信息'), _t('开启后会在本篇文章底部显示备案信息。'));
$form->addInput($beianInfo);
}
themeConfig用于实现一个设置页面,页面内的所有元素都需要写在这个函数内,上述代码中大括号内的内容实现了一个下拉列表,如果还需要加一个文本框,可以在结束的大括号之前添加相应的内容。
提取下拉列表设置参数
可以用如下语句来验证下拉列表的值:
<?php if($this->options->beianInfo){echo 'My value is '.$this->options->beianInfo;} ?>
在实际应用中,我们可以根据下拉列表的不同值来执行不同的代码:
<?php
if ($this->fields->articleCopyright == 'show') {
// 需要执行的代码块;
}
?>