首页>建站相关>写一个typecho后台设置页之复选框

写一个typecho后台设置页之复选框

经历了文本框,单选框以及下拉列表的洗礼。面对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,即多行模式;

typecho_theme_options_checkbox_p1

不使用多行模式的话,显示效果是上图这样的;

typecho_theme_options_checkbox_p2

使用了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'), '侧边栏显示','新加的侧边栏的说明文字');

标签: typecho

移动端可扫我直达哦~

推荐阅读

typecho 2024-04-20

typecho根据标签的slug name信息判断是否输出免责声明

博主是从事机械行业的,工作过程中接触了很多二手老旧的设备,因为是二手设备,不缺胳膊少腿能正常运行已是难得,完善的说明书与售后服务想都不要想了。所以找设备的说明书成了一项附加的工作,总得让设备正常运行起来,偶尔设备有个小病小痛的,也不能...

建站相关 typecho

typecho 2023-11-02

Typecho开发文档-Widget设计文档

什么是WidgetWidget是组成Typecho的最基本元素,除了已经抽象出来的类库外,其它几乎所有的功能都会通过Widget来完成.在实践中我们发现,在博客这种小型但很灵活的系统中实施一些大型框架的思想是不合适的,它会使系统灵活性...

建站相关 typecho

typecho 2023-10-25

Typecho默认路由表一览

路由器(Route)路由器(Route)是Typecho系统中的一个重要组件,类似mod_rewrite的机制,来实现独立的URL和指定的controller/action/params的映射规则.它通过识别诸如http://loca...

建站相关 typecho

typecho 2023-10-21

Typecho自动更新指定文章内容的尝试

曾经在老的博客(wordpress)里尝试并且成功运行过的一个方案,定时去请求某个比如“每天60秒读懂世界”这样的api,获取到数据,然后根据数据更新某一篇博文的内容。因为有“轻微”的强迫症,所以习惯把不用的东西直接“rm -rf”删...

建站相关 typecho

typecho 2023-10-21

Typecho数据库常用API

表的创建和删除在Typecho插件开发过程中,往往需要创建自己的表。上文提到Typecho_Db类中的query函数,可用于执行所有sql语句,因此我们使用query()来进行表的创建、修改或者删除。$db= Typecho_Db::...

建站相关 typecho

typecho 2023-10-18

让typecho博客支持显示数学公式

MathJax是一个开源的基于Ajax的数学公式显示的解决方案,结合多种先进的Web技术,支持主流的浏览器。MathJax根据页面中定义的LaTex数据,生成对应的数学公式。具体可见:mathjax项目代码(GitHub)因为是利用j...

建站相关 typecho

typecho 2023-10-15

为Typecho编辑器增加HTML标签支持

这几天为Typecho编辑器基本不支持块级元素而困扰,在github上翻编辑器插件的时候意外看到有位望友说可以去修改Hyperdown.php文件以增加对HTML标签的支持。该文件位于:build/var/HyperDown.php需...

建站相关 typecho

typecho 2023-10-12

typecho为什么更换主题后部分图片无法正确显示

其实严格的说,这可能是博主自己主题的问题,但人类的悲欢偶尔相通么,没准也可能在其他的主题中遇到类似的。博主之前边写博客边修改拼凑了一个比较简陋的主题,使用一段时间后,觉得主页过于单调了,于是在23年的国庆前后对主题整体做了一个比较大的...

建站相关 typecho