Emlog模板设置插件使用教程及开发规范

emlog教程 2020-08-25

  一直以来,

  emlog走的轻量级路线,没有集成模板后台设置,于是很多功能强大的模板不得不在需要的时候,修改文件以改变设置。那么,有了这个插件以后,就可以不用如此纠结了,只要模板按照开发规范来开发,就可以使用本插件在后台进行设置了。重点强调,本插件是辅助插件,所有设置依赖于模板的功能,而不是插件本身,因此不要问我为什么没有blabla功能,请去寻求模板作者。

  哪些模板支持?

  多模板,尤其是CMS模板,会有很多设置项,大多会有一个options.php文件,当你需要修改配置时,就得去修改文件,那么哪些模板才能用上插件的后台设置功能呢?

  答案是:按照规范来开发的模板。模板开发者请看下面!

  如何让模板能被插件识别?

  在模板目录里放入options.php,内容格式如下即可,可以任意增加设置项,注意$options变量和注释:

  

  !defined(‘EMLOG_ROOT’) && exit(‘access deined!’);

  $options = array(

  ’sidebar’ => array(

  ’type’ => ‘radio’,

  ’name’ => ‘侧边栏位置’,

  ’values’ => array(

  ’left’ => ‘左边’,

  ’right’ => ‘右边’

  ),

  ’default’ => ‘right’,

  ),

  ’sortIcon’ => array(

  ’type’ => ‘image’,

  ’name’ => ‘分类图标设置’,

  ’values’ => array(

  TEMPLATE_URL . ‘images/star.png’,

  ),

  ’depend’ => ‘sort’,

  ’unsorted’ => true,

  ’description’ => ‘给不同的分类设置不一样的小icon,以20×20为宜’,

  ),

  );

  options.php里,每个元素都该写什么?

  如上所示,$options数组里,key为设置项的id,而value是一个数组,数组里包含若干个元素。其中type属性和name属性必选,name是设置项名字,而type用来指定设置项的类型,支持的类型如下:

  radio: 单选按钮

  checkbox: 复选按钮

  text: 文本

  image: 图片

  page: 页面

  sort: 分类

  tag: 标签

  对于所有类型,default属性用于指定默认值,当没有指定default时,使用values里第一个值,若都没有指定,则会使用奇怪的默认值。

  对于radio和chexkbox,values属性用来设置各个按钮的值和显示名称。

  除sort外,均可以指定depend为sort,表示该选项可以根据不同的分类设置不同的值,当指定depend为sort时,可选unsorted属性,为true时,表示包括未分类,为false不包括,默认为true。

  sort和page可设置multi属性为true,表示多选。

  description属性可选,用以描述该选项。

  若type为text,可设置multi属性为true,表示多行文本,即input和textarea的区别,可选属性rich用以支持富文本,若设置该值,将加载编辑器。

  若type为sort、page或者tag,且设置了多选,默认值将为空,否则将为第一个该类型的值。

  模板里如何调用设置项

  插件提供简单方法_g($key),如上示例,可以使用_g(‘sidebar’)来获取侧边栏的设置,取到的值将为0或者1,使用_g(‘sortIcon’)来获取分类icon的全部设置,以分类id为key的数组,使用_g(‘sortIcon.1’)来获取分类id为1(如果存在)的sortIcon。需要注意的是,对于类型为page的,将取到页面id,类型为sort的,将取到分类id,类型为tag的,将取到标签名。 若不传递参数,即使用_g()方法将获取到所有设置项,对于老的模板迁移来的,可以用extract(_g());来代替原来的加载option文件。

评论 (0)
    Top