Emlog模板设置插件使用教程及开发规范-站长杂谈下载

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

开通本站Svip会员,全站资源免费下
    一直以来,emlog走的轻量级路线,没有集成模板后台设置,于是很多功能强大的模板不得不在需要的时候,修改文件以改变设置。那么,有了这个插件以后,就可以不用如此纠结了,只要模板按照开发规范来开发,就可以使用本插件在后台进行设置了。重点强调,本插件是辅助插件,所有设置依赖于模板的功能,而不是插件本身,因此不要问我为什么没有blabla功能,请去寻求模板作者。& u5 s7 I% A. I1 H" [- H
! Z; R& e# O4 e0 X  \# W/ [. {
插件名称:模板设置9 F9 ~% H- D0 W9 b
插件作者:奇遇 0 V, \+ g# c" B3 l5 m8 n* w
下载地址:https://www.tuyuanma.com/news-1124-1-1
( D9 _7 P9 U, h* @$ j" Z
( H! |4 r) H/ y% J$ M, v哪些模板支持?0 o" d# s, |9 X/ w
    多模板,尤其是CMS模板,会有很多设置项,大多会有一个options.php文件,当你需要修改配置时,就得去修改文件,那么哪些模板才能用上插件的后台设置功能呢?
) h6 H+ p. T* \答案是:按照规范来开发的模板。模板开发者请看下面!5 _7 ]  |* _) @8 o: D

1 [5 o4 ]$ Z' g; q: ~9 n5 b如何让模板能被插件识别?
7 v6 y- q) n: z  u, Y    在模板目录里放入options.php,内容格式如下即可,可以任意增加设置项,注意$options变量和注释:
  1. * a+ w$ W3 ^: [
  2. <?php6 O3 z' L' e% |# v+ W0 [
  3. /*@support tpl_options*/
    & {; N0 E2 t3 T7 W5 ^( u( W
  4. !defined('EMLOG_ROOT') && exit('access deined!');$ [" _3 D" p, C/ l0 Q7 k
  5. $options = array(
    % R: _7 k5 O1 `
  6.     'sidebar' => array(5 L7 ~) t1 p' `* N$ d$ t
  7.         'type' => 'radio',* X+ a/ ?  _9 [
  8.         'name' => '侧边栏位置',6 g. h' c/ V$ l! o3 s% l9 G
  9.         'values' => array(
    + V0 n& ~; S% h8 g- ?  s
  10.             'left' => '左边',
    $ m" C1 A4 }' o4 |7 f5 z
  11.             'right' => '右边'
    # W1 u% y+ c- H( x; I. M
  12.         ),
    - D, C! t2 Y) p( J6 J- i
  13.         'default' => 'right'," m8 ^! l: T2 L
  14.     ),) g( x9 E% R7 x' \
  15.     'sortIcon' => array(; o5 b+ t2 y/ {: S) m& {
  16.         'type' => 'image',# b' V4 f2 t" M" |$ E7 ]
  17.         'name' => '分类图标设置',- \2 p  x5 Y% X8 b
  18.         'values' => array() y/ b' Y5 T8 w  F- _2 p& h: O* @/ _3 e& S
  19.             TEMPLATE_URL . 'images/star.png',- I: o7 \1 t# X  x
  20.         ),
    3 c. i# e' c6 S. z& J  f8 R
  21.         'depend' => 'sort',  `4 u8 I6 K/ W: s9 N/ c5 t! w
  22.         'unsorted' => true,
    , L/ O: \: m$ T4 F. `, m
  23.         'description' => '给不同的分类设置不一样的小icon,以20×20为宜',
    0 z$ V, L4 e8 l. W) `6 \, p
  24.     ),! g5 ^9 D$ J- m6 [& m
  25. );
复制代码
options.php里,每个元素都该写什么?
& L  V9 z" p1 P# H/ ?$ ?    如上所示,$options数组里,key为设置项的id,而value是一个数组,数组里包含若干个元素。其中type属性和name属性必选,name是设置项名字,而type用来指定设置项的类型,支持的类型如下:
  1. radio: 单选按钮% ]9 q7 e  M: Z* V7 P8 W
  2. checkbox: 复选按钮3 J" G2 ~$ Q% v2 Z- x$ Z
  3. text: 文本
    * L/ |, I* }8 U& t7 u
  4. image: 图片
    0 U  ?0 W2 O/ R* Z; T: I
  5. page: 页面. R' U$ L) r$ q! Q
  6. sort: 分类1 g0 p2 V  F" C3 S
  7. TAG: 标签
复制代码
, F7 z; M. d) w
    对于所有类型,default属性用于指定默认值,当没有指定default时,使用values里第一个值,若都没有指定,则会使用奇怪的默认值。
/ Z& V; ~) c4 b" R, T4 \- o( }    对于radio和chexkbox,values属性用来设置各个按钮的值和显示名称。% a4 G' B5 ~3 i/ p( v/ ?
    除sort外,均可以指定depend为sort,表示该选项可以根据不同的分类设置不同的值,当指定depend为sort时,可选unsorted属性,为true时,表示包括未分类,为false不包括,默认为true。- m, h; {* ^0 Z6 K
    sort和page可设置multi属性为true,表示多选。! o% _" U' l) K3 `. n  V
    description属性可选,用以描述该选项。4 Y! U* k* }/ }- B, [
    若type为text,可设置multi属性为true,表示多行文本,即input和textarea的区别,可选属性rich用以支持富文本,若设置该值,将加载编辑器。
( t4 x/ }0 L) k3 A5 m# G: x5 U    若type为sort、page或者tag,且设置了多选,默认值将为空,否则将为第一个该类型的值。
6 O( L2 C4 N$ o% C/ X; M8 {4 ]) A6 n3 Y1 }4 u5 a9 w$ C
模板里如何调用设置项
/ l7 w, O2 d0 d    插件提供简单方法_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文件。( d7 Y) b0 I2 T* {' @

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部