最近使用emlog主题时觉得幻灯片功能暂时不需要,又不想直接失去,想到给他价格开关,于是向豆包发起了咨询,获得了良好效果,彻底解决了我暂时的烦恼,感觉受用无穷,特此记录,方便以后继续开发。
豆包说:若要添加开关选项,需要在 $options 数组中添加了一个名为 homepage-slide-enable 的新选项。
开关设置:
labels:指定该选项所属的标签页为 tpl-homepage(首页设置)。
type:设置为 checkon,表示这是一个开关选项。
name:设置开关的名称为 “开启首页幻灯片”。
values:设置开关的选项为 [‘1’ => ‘开启’],表示选中时为开启状态。
default:设置默认值为 1,即默认开启首页幻灯片。
description:提供开关的说明信息。
具体代码为:
- ‘homepage-slide-enable’ => array(
- ‘labels’ => ‘tpl-homepage’,
- ‘type’ => ‘checkon’,
- ‘name’ => ‘开启首页幻灯片’,
- ‘values’ => [‘1’ => ‘开启’],
- ‘default‘ => ‘1’,
- ‘description’ => ‘点击设置开关以控制首页幻灯片的显示。’
- ),
因为是控制首页幻灯片的,所以去首页文件中找到控制代码,在它的前面获取开关的值。按照豆包给的代码使用后并没有效果,然后豆包贴心的提供了“代码里添加调试信息,查看 Option::get 方法的返回值”的方法,阿三得到的是空值。于是阿三觉得是豆包的认知有限,考虑到后台设置里面对于某个侧栏模块的开关时起作用的,所以把侧栏代码提供给了豆包,获得了正确答案:
- <?php
- // 获取开关的值
- $enable_slide = _g(‘homepage-slide-enable’);
- ?>
当然,这样还不够,还需要在幻灯片的<div>外面增加判断代码,大概如下:
- <?php if ($enable_slide): ?>
- 幻灯片模块的相关代码
- <?php endif; ?>
保存文件,效果实现!
另外,这个不能截字的问题,居然在本篇日志恢复了正常,这是为啥?有没有老铁知道?
emlog 后台增加开关和值在前台页面的传递:等您坐沙发呢!