最近使用emlog主题时觉得幻灯片功能暂时不需要,又不想直接失去,想到给他价格开关,于是向豆包发起了咨询,获得了良好效果,彻底解决了我暂时的烦恼,感觉受用无穷,特此记录,方便以后继续开发。



豆包说:若要添加开关选项,需要在 $options 数组中添加了一个名为 homepage-slide-enable 的新选项。

> 开关设置:
>
> labels:指定该选项所属的标签页为 tpl-homepage(首页设置)。
>
> type:设置为 checkon,表示这是一个开关选项。
>
> name:设置开关的名称为 “开启首页幻灯片”。
>
> values:设置开关的选项为 [‘1’ => ‘开启’],表示选中时为开启状态。
>
> default:设置默认值为 1,即默认开启首页幻灯片。
>
> description:提供开关的说明信息。

具体代码为:

1. ‘homepage-slide-enable’ => array(
2.     ‘labels’      => ‘tpl-homepage’,
3.     ‘type’        => ‘checkon’,
4.     ‘name’        => ‘开启首页幻灯片’,
5.     ‘values’      => [‘1’ => ‘开启’],
6.     ‘default‘     => ‘1’,
7.     ‘description’ => ‘点击设置开关以控制首页幻灯片的显示。’
8. ),

因为是控制首页幻灯片的,所以去首页文件中找到控制代码,在它的前面获取开关的值。按照豆包给的代码使用后并没有效果,然后豆包贴心的提供了“代码里添加调试信息,查看 Option::get 方法的返回值”的方法,阿三得到的是空值。于是阿三觉得是豆包的认知有限,考虑到后台设置里面对于某个侧栏模块的开关时起作用的,所以把侧栏代码提供给了豆包,获得了正确答案:

1. <?php
2. // 获取开关的值
3. $enable_slide = _g(‘homepage-slide-enable’);
4. ?>

当然,这样还不够,还需要在幻灯片的<div>外面增加判断代码,大概如下:

1. <?php if ($enable_slide): ?>
2. 幻灯片模块的相关代码
3. <?php endif; ?>

保存文件,效果实现!

另外,这个不能截字的问题,居然在本篇日志恢复了正常,这是为啥?有没有老铁知道?