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

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

来自版块: 站长杂谈发表于: 2015-8-17 11:30:14
54385
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
    一直以来,emlog走的轻量级路线,没有集成模板后台设置,于是很多功能强大的模板不得不在需要的时候,修改文件以改变设置。那么,有了这个插件以后,就可以不用如此纠结了,只要模板按照开发规范来开发,就可以使用本插件在后台进行设置了。重点强调,本插件是辅助插件,所有设置依赖于模板的功能,而不是插件本身,因此不要问我为什么没有blabla功能,请去寻求模板作者。
/ D7 a4 d; }$ H+ E$ I0 d
' P) p* z/ x& K9 u7 t插件名称:模板设置
( k8 N% @" v1 a3 Q3 n$ l插件作者:奇遇
7 X, F; O6 M9 E: I下载地址:https://tuyuanma.com/news-1124-1-1
5 W6 z2 e7 d: ~9 B0 P9 @  |9 E  o* Z9 v, m/ U
哪些模板支持?
; X4 w. E3 G0 q) c. v    多模板,尤其是CMS模板,会有很多设置项,大多会有一个options.php文件,当你需要修改配置时,就得去修改文件,那么哪些模板才能用上插件的后台设置功能呢?$ w' i! [. ^) p
答案是:按照规范来开发的模板。模板开发者请看下面!
/ D4 f( j& u  x6 S* F, d8 |5 {( t" e: w+ {! G2 T5 L" `/ H5 ~8 H' k6 k
如何让模板能被插件识别?" m/ s% C4 a; X3 Q! G$ o
    在模板目录里放入options.php,内容格式如下即可,可以任意增加设置项,注意$options变量和注释:
  1. 0 J; m% t9 {6 q# p* P1 r) N& n, ?: g
  2. <?php
    / G1 U3 p/ p1 b1 w$ z; o* v
  3. /*@support tpl_options*/
    & Y. G* @: N2 ^1 O: j
  4. !defined('EMLOG_ROOT') && exit('access deined!');) B  c) F; a; l- Z7 _0 r5 z9 r
  5. $options = array(
    / f7 v6 v  B! Y' |3 M! d1 l7 [
  6.     'sidebar' => array(* ]. g8 T) p3 d
  7.         'type' => 'radio',) v0 K0 j) N; L3 K
  8.         'name' => '侧边栏位置',
    ) G+ ?! H/ Z+ |4 `8 [5 c& b8 x
  9.         'values' => array(
    % I5 {. k& E; `2 o4 J
  10.             'left' => '左边',
    5 o; P! N$ k. J0 z7 _' {1 r, c" {
  11.             'right' => '右边'# {, l0 n0 s: A5 E
  12.         ),
    7 |0 F  N3 G: ~! r, S3 u9 I! W
  13.         'default' => 'right',
    ; p  \, z$ ]: \" N' I( t4 C7 N
  14.     ),( N% @+ G* W" g* @
  15.     'sortIcon' => array(
    * v0 v+ @: |+ K& M8 J" D& m1 S
  16.         'type' => 'image',/ I* K, h' ^& Q. e; W
  17.         'name' => '分类图标设置',
    ) t" r% _* x8 C
  18.         'values' => array(* q. Y; e5 V! b5 ^
  19.             TEMPLATE_URL . 'images/star.png',$ ]4 B! q$ s  C
  20.         ),
    6 Q# y9 N% w  R! g" @
  21.         'depend' => 'sort',
    2 r; Z, K$ C6 \" h' l
  22.         'unsorted' => true,
    ) N  o  [- o5 A2 z' Y3 V4 _
  23.         'description' => '给不同的分类设置不一样的小icon,以20×20为宜',
    & P+ n. ^6 p+ q- T
  24.     ),% d6 l, F/ h( w$ r7 s- |& c
  25. );
复制代码
options.php里,每个元素都该写什么?
# A- `2 s- g! |    如上所示,$options数组里,key为设置项的id,而value是一个数组,数组里包含若干个元素。其中type属性和name属性必选,name是设置项名字,而type用来指定设置项的类型,支持的类型如下:
  1. radio: 单选按钮# g3 S( `. V" }) Z
  2. checkbox: 复选按钮
    # Q4 ?4 U3 q$ O3 U; x2 x1 V
  3. text: 文本
    7 x) a5 Y" S# R" i; O3 P! J1 A6 q
  4. image: 图片& g0 x& ~/ ?3 O) r2 W' ~( ?
  5. page: 页面+ s: L4 C( k: m, C" m% K
  6. sort: 分类# s( E" `& I% C
  7. tag: 标签
复制代码

3 t  e" S2 a: ]8 h- ~. p; j    对于所有类型,default属性用于指定默认值,当没有指定default时,使用values里第一个值,若都没有指定,则会使用奇怪的默认值。! A+ o8 Y" m4 O+ ?" i7 m
    对于radio和chexkbox,values属性用来设置各个按钮的值和显示名称。, c' H+ _+ X5 ?5 D9 D9 k7 t. w5 E
    除sort外,均可以指定depend为sort,表示该选项可以根据不同的分类设置不同的值,当指定depend为sort时,可选unsorted属性,为true时,表示包括未分类,为false不包括,默认为true。, W6 N" x" ~" J' \" N( D# I7 P! e# x
    sort和page可设置multi属性为true,表示多选。
/ l: H- E/ N' j    description属性可选,用以描述该选项。( z* ]7 B$ k3 g# {+ Y
    若type为text,可设置multi属性为true,表示多行文本,即input和textarea的区别,可选属性rich用以支持富文本,若设置该值,将加载编辑器。2 `5 o2 e/ M2 s) E; D
    若type为sort、page或者tag,且设置了多选,默认值将为空,否则将为第一个该类型的值。
* t3 P' ^6 C3 K
3 O% Z0 @; U  ]: r1 x模板里如何调用设置项% S) O* ^5 T; r& z* G& O
    插件提供简单方法_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文件。
1 B( }4 v, U2 r! u# b( ?) ?

全部评论 0

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