首页>建站相关>写一个typecho后台设置页之下拉列表

写一个typecho后台设置页之下拉列表

下拉列表的功能有点儿类似单选框,为用户提供多个选项,但是仅返回一个值。对使用者而言,下拉列表确定一个值需要至少三个步骤,点击显示菜单 -> 下拉至选定项 -> 点击选定。对比单选框,劣势是操作上更为繁琐,当然也有它的有点,当备选项比较多的时候,将其包裹在一个下拉列表中,能让设置页看起来更为整洁清爽,不会让用户产生繁琐复杂的第一印象。

参数回顾

继续用老内容凑字数,Typecho_Widget_Helper_Form_Element_Text这个类支持5个参数,作为兄弟类Typecho_Widget_Helper_Form_Element_Select也一样,不同的是,对于Select元素来说,这5个参数都有用武之地:

$name 表单输入项名称
$options 选择项
$value 表单默认值
$label 表单标题
$description 表单描述

下拉列表示例代码

typecho_theme_options_select_p1

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-&gt;options-&gt;beianInfo){echo 'My value is '.$this->options->beianInfo;} ?>

typecho_theme_options_select_p2

在实际应用中,我们可以根据下拉列表的不同值来执行不同的代码:

<?php
if ($this->fields->articleCopyright == 'show') {
    // 需要执行的代码块;
}
?>

标签: 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