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

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

来自版块: 站长杂谈发表于: 2015-8-17 11:30:14
54340
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
    一直以来,emlog走的轻量级路线,没有集成模板后台设置,于是很多功能强大的模板不得不在需要的时候,修改文件以改变设置。那么,有了这个插件以后,就可以不用如此纠结了,只要模板按照开发规范来开发,就可以使用本插件在后台进行设置了。重点强调,本插件是辅助插件,所有设置依赖于模板的功能,而不是插件本身,因此不要问我为什么没有blabla功能,请去寻求模板作者。
9 ?' f8 \/ \+ B1 X8 w
  c, `- H( l$ L插件名称:模板设置
( M8 p1 U1 D) X$ x3 ^/ }4 q' C插件作者:奇遇 . w7 g. T6 R+ t& n# Z* }
下载地址:https://tuyuanma.com/news-1124-1-1
7 [1 t9 a- [; S( U, K
) t/ x4 y6 H; D, O) W1 ~- s哪些模板支持?
2 A  g1 \, L, Y    多模板,尤其是CMS模板,会有很多设置项,大多会有一个options.php文件,当你需要修改配置时,就得去修改文件,那么哪些模板才能用上插件的后台设置功能呢?/ ~' B# S/ H$ |2 [0 h# u
答案是:按照规范来开发的模板。模板开发者请看下面!" j8 t6 E# A; f7 |9 M' k

0 i. [: t; |2 i) f9 Z如何让模板能被插件识别?8 K' U; {. ~" X( ~! C" i! c7 J' f
    在模板目录里放入options.php,内容格式如下即可,可以任意增加设置项,注意$options变量和注释:
  1. 6 g- |1 I- D  T& J9 c
  2. <?php5 F. c( ?; [. P# I
  3. /*@support tpl_options*/
    # M+ {) l# g# P9 [) z: o  p
  4. !defined('EMLOG_ROOT') && exit('access deined!');6 i* o6 @$ w, e2 `: S6 T" q
  5. $options = array(
    3 E- U0 z# ^5 J) A
  6.     'sidebar' => array(
    6 c( f* i7 a6 k3 t+ K% @4 s
  7.         'type' => 'radio',
    6 T# {2 ]) p8 l, R1 H- R* w
  8.         'name' => '侧边栏位置',! u9 a: |" N0 `& ]  j' u: U4 V
  9.         'values' => array(0 X' e8 ?  E5 n) d7 ~
  10.             'left' => '左边',
    $ z: t9 m0 t* H# b$ o
  11.             'right' => '右边'* s" g# I+ q4 J" ?8 ?
  12.         ),
    6 m7 \0 O2 I% R% F! _
  13.         'default' => 'right',& u+ U; m) e. L
  14.     ),+ Q6 h+ d% R* C' k) a
  15.     'sortIcon' => array(9 U* J- Z( N) G" ?
  16.         'type' => 'image',
    / z& N" ?8 m+ E1 T
  17.         'name' => '分类图标设置',& x% h: i  j3 |2 I7 b
  18.         'values' => array(
    . |7 @/ z) Q6 L8 w1 w
  19.             TEMPLATE_URL . 'images/star.png',
    5 U" n$ g' t8 \# V
  20.         ),
    + v8 a1 I, `7 |" Z
  21.         'depend' => 'sort',: W+ ?7 r; u3 i" U. F! W: X% x
  22.         'unsorted' => true,5 I6 T% V' d( d3 a7 c6 T+ R
  23.         'description' => '给不同的分类设置不一样的小icon,以20×20为宜',
    ( {0 k  f1 H) d8 L5 E' K
  24.     ),
    7 g" |5 w! o- s: i# g
  25. );
复制代码
options.php里,每个元素都该写什么?' |: a/ B+ W! s6 Z* i! f- u
    如上所示,$options数组里,key为设置项的id,而value是一个数组,数组里包含若干个元素。其中type属性和name属性必选,name是设置项名字,而type用来指定设置项的类型,支持的类型如下:
  1. radio: 单选按钮
    - X1 S7 M) o: F9 q
  2. checkbox: 复选按钮* N$ G) V0 q* H* g
  3. text: 文本- J# u- l/ g! D3 R/ U/ F* X' a
  4. image: 图片. u( C( z. P1 n
  5. page: 页面+ l; h, W4 I0 S4 N9 O2 ~  p) i
  6. sort: 分类
    7 o; t/ ]+ Z! z& K+ e' i" I
  7. tag: 标签
复制代码

+ T: A6 M9 Z5 `  G* W    对于所有类型,default属性用于指定默认值,当没有指定default时,使用values里第一个值,若都没有指定,则会使用奇怪的默认值。3 e2 M8 E( X" ?* s) I# ]! M# S
    对于radio和chexkbox,values属性用来设置各个按钮的值和显示名称。
1 F( q# m% o3 E3 e6 Z( c/ Z4 B' h    除sort外,均可以指定depend为sort,表示该选项可以根据不同的分类设置不同的值,当指定depend为sort时,可选unsorted属性,为true时,表示包括未分类,为false不包括,默认为true。
! P% y0 h, g1 b8 D  c    sort和page可设置multi属性为true,表示多选。7 F  N# c" G$ E, ]
    description属性可选,用以描述该选项。, d5 u' I3 ~( z
    若type为text,可设置multi属性为true,表示多行文本,即input和textarea的区别,可选属性rich用以支持富文本,若设置该值,将加载编辑器。
: I1 Q1 L1 z/ {" w3 s' Y    若type为sort、page或者tag,且设置了多选,默认值将为空,否则将为第一个该类型的值。
5 }4 O; A+ z* Q0 C- o% \' @+ h+ H/ [# b( r: p. ]
模板里如何调用设置项
6 q( V; t5 N) U* ]  x& j7 ?    插件提供简单方法_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文件。+ `- {) \' Y, ?1 E

全部评论 0

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