经历了文本框,单选框以及下拉列表的洗礼。面对typecho的复选框时,多了一份驾轻就熟的从容,复选框允许容纳多个值,所以它的第三个参数“$value”,可以是一个数组。
参数的简单回顾
- $name 表单输入项名称
- $options 选择项
- $value 表单默认值
- $label 表单标题
- $description 表单描述
复选框的示例
function themeConfig($form) {
$sidebarBlock = new Typecho_Widget_Helper_Form_Element_Checkbox('sidebarBlock',
array('ShowRecentPosts' => _t('显示最新文章'),
'ShowRecentComments' => _t('显示最近回复'),
'ShowCategory' => _t('显示分类'),
'ShowArchive' => _t('显示归档'),
'ShowOther' => _t('显示其它杂项')),
array('ShowRecentPosts', 'ShowRecentComments', 'ShowCategory', 'ShowArchive', 'ShowOther'), _t('侧边栏显示'));
$form->addInput($sidebarBlock->multiMode());
}
在typecho的默认主题中,就利用了一个复选框来选择是否显示侧边栏的各个模块,该侧边栏的addInput语句中限定了使用multiMode,即多行模式;
不使用多行模式的话,显示效果是上图这样的;
使用了multiMode之后,列表的展现变为了这样,看起来舒展了很多,没有那么紧凑。
默认主题中复选框的调用
<?php if (!empty($this->options->sidebarBlock) && in_array('ShowRecentPosts', $this->options->sidebarBlock)): ?>
<section class="widget">
<h3 class="widget-title"><?php _e('最新文章'); ?></h3>
<ul class="widget-list">
<?php $this->widget('Widget_Contents_Post_Recent')
->parse('<li><a href="{permalink}">{title}</a></li>'); ?>
</ul>
</section>
<?php endif; ?>
复选框的说明文字
要为复选框加一段说明文字,可以在下列语句的最后,添加一些说明文字,格式如下:
array('ShowRecentPosts', 'ShowRecentComments', 'ShowCategory', 'ShowArchive', 'ShowOther'), '侧边栏显示','新加的侧边栏的说明文字');