Discuz模板语句分析及知识技巧

  一、模板 调用 PHPChina 开源社区门户E2E;|/n-z$cJ3x7/;o
比如在某个模板中,想调用另一个模板中的内容,可以用下面的语句:PHPChina 开源社区门户T@+u$B~P0F
{template xxx}PHPChina 开源社区门户 K5ymXN4Q y
假设,建立了一个新模板名字叫 "abc.htm" ,在后台 模板编辑时只会显示为 "acb",需要在 index 中调用它,那么就在index 中适当位置加入 {template abc}
TE8dH!TX!a1|?0 那么就会自动代用它。
y_ wNxk0
9K9ru,A qio.A0 相关实例: index 模板中,最顶有 {template header},最底有 {template footer}
5PU!n1P9U+c%k�r#e0 相关疑问: PHPChina 开源社区门户y,J'z#gl_
那么在这个 abc 模板中需要有 <html><body></body></html> 吗?
w%pw+iV+_[!M`�n0 不需要的!想要显示什么,就写什么,因为它只是整个网页的一部分! <html><body></body></html> 都已经在header和footer模板中了。
5_h%yQ1ZlE~qJk0
9e7Y uD;f)S0 PHPChina 开源社区门户.y-f7jKI9V&^ T
二、固定参数 PHPChina 开源社区门户!b'O p$I$b_1A^:W
$seohead                        --- 后台设置 的头部信息
9qGj^ OH0 $charset                        --- config.inc.php中设置语言字符集,必不可少,不能删除!PHPChina 开源社区门户)Ds'Y"@ w j�k!_s
$extrahead                        --- 控制论坛 自动跳转参数,必不可少,不能删除!PHPChina 开源社区门户C1m R6L,LLsn
{eval updatesession();}                --- 更新论坛 session 表的参数,必不可少,不能删除!PHPChina 开源社区门户#k5i$K(TYJ0W
{eval output();}                --- 结束论坛输出,必不可少,不能删除!PHPChina 开源社区门户@dy9V5Y8w4/C)a

F.|_N u;aj&/0 以上的参数以Discuz ! 4.0为准,这些参数会因应不同版本而有所不同!PHPChina 开源社区门户wFII.K*j2s0I(m^
还有一些 $xxx 的也是一些参数如非插件 作者或程序 开发请勿乱修改!PHPChina 开源社区门户L&g7eX&^%xr g*~

N|yF#l4^9]*T5a9?0 PHPChina 开源社区门户!vTb5s.t0Op"tY
三、数据 判断 PHPChina 开源社区门户._-T"CTd MM N/P0y
   1、在模板中会经常见到<!--{if xx}-->xxx<!--{else}-->xx<!--{/if}-->的语句。
j@ c]sz0       这些并非普通HTML 中的注释,而是Discuz!特有的模板判断语法,就好比php 或者其他 语法中的 if,else,then等等。PHPChina 开源社区门户5li7^Ym d;sV&r Y
      通过这些语法,能够达到不同的模板效果PHPChina 开源社区门户{-C;~o*{2C"OnN

b7?IKrVB0 相关实例:
8pzxU)S7G7RB.R0 header 模板中

复制内容到剪贴板
代码 :
<!--{if $discuz_uid}--> --- 如果获取了 $discuz_uid ,即显示下面资料(判断1)
5TG[f X0         <span class="bold">$discuz_userss: </span> <a href="$link_logout">{langlogo ut}</a>PHPChina 开源社区门户�VK*uyCr)EA

'E2b(Q4ss[1NpD"b9ku0         <!--{if $maxpmnum}--> --- 如果有 $maxpmnum,即显示下面资料,否则不显示(判断2)
{-f"p1uEv@0                 | <a href="pm.php" target="_blank">{lang pm}</a>PHPChina 开源社区门户{,[-h5tMR-Qa
        <!--{/if}--> --- 结束了这个判断(判断2)PHPChina 开源社区门户'JS)A/|4RN#KB4D
       
ER*V J2i,bh:V|0         |  <a href="memcp.php">{lang memcp}</a>PHPChina 开源社区门户!|z XPb,j
       
4K1qx{b&I7eq0         <!--{if in_array($adminid, array(1,2,3))}--> --- 如果$adminid在1,2,3这三个范围内,即显示下面资料,否则不显示(判断3)
YO(U~qaj0                 | <a href="admincp.php" target="_blank">{lang admincp}</a>
?*j;Y�`a!o)uN0         <!--{/if}--> --- 结束了这个判断(判断3)PHPChina 开源社区门户Xk,^u?

UD'_Cf$|)A0 <!--{else}--> --- 如果获取不了 $discuz_uid ,则显示下面资料PHPChina 开源社区门户n$aX]3wmg}`

"k&y^5?%/l L�d0         <span class="bold">{lang guest}:  </span><a href="$link_register">{lang register}</a>
_f"[+jh0         | <a href="$link_login">{lang login}</a>PHPChina 开源社区门户su6LJ)h^.m+x)HJ
PHPChina 开源社区门户HF*U!j G^X&S,@w
<!--{/if}--> --- 结束这个判断(判断1)

2、在模板中会经常见到<!--{loop xx}-->xxx<!--{/loop}-->的语句。 PHPChina 开源社区门户 r'p8HIeiP
      这个为循环语句,直到数据输出完毕,就会自动结束。
,yw.//@!l U*{-{'?"[0       通过这些语法,能够达到把同一系列的资料进行循环显示效果。
I'hS_Mah,x gH0 PHPChina 开源社区门户LQ"mn?�ug
相关实例: PHPChina 开源社区门户x"rfF~ Qo
header 模板中

复制内容到剪贴板
代码:
<!--{loop $plugins['links'] $plugin}--> --- 循环1开始,判断插件
R@1m,/-gjr0         <!--{loop $plugin $module}--> --- 循环2开始,判断插件模组PHPChina 开源社区门户 n2D1^&K:Y4Nn%he
             <!--{if !$module['adminid'] || ($module['adminid'] && $adminid > 0 && $module['adminid'] >= $adminid)}-->| $module[url] <!--{/if}-->PHPChina 开源社区门户-J5}F(ZTZjPx(j
        <!--{/loop}--> --- 结束循环2PHPChina 开源社区门户$AhEq!e
<!--{/loop}--> --- 结束循环1

四、语言调用
-Hd9w.xd0D.O5O0 在模板中,经常会看到{lang xxx}这样的语句。它就是调用语言包中的词语用的。PHPChina 开源社区门户Yi5j X#pt{@n
而在模板中会调用的大部分都是  templates.lang.php 的。
S+IfUj o#S?Y0 下面看看语言包的结构:

复制内容到剪贴板
代码:
<?  -- 宣布php语言开始
0],IK~&uv7s!u}"S0 $language = array
&|D6bGF|0 (                        --- 以上宣布语言包定义开始PHPChina 开源社区门户U!bbeA

e7ZA�{5dp0         'title' => '标题',PHPChina 开源社区门户'^pK2}~5b$s
        调用字符    显示文字PHPChina 开源社区门户#R a(H(nE0|,}4h
        'never' => '从未',PHPChina 开源社区门户V oz*`&h
        调用字符    显示文字
f b1O5Gn*X8e}&y0         ....
CQr+^&Mu)H0 ); --- 宣告语言包定义结束
C,j9u T$?dZO0 ?>  -- 宣布php语言结束

相关实例: PHPChina 开源社区门户&db*`C!Z
假设,我们增加一个语言调用,在PHPChina 开源社区门户F7s*?.E7P7[
'title' => '标题',
(E O)Wpj"R0 上一行添加PHPChina 开源社区门户+C XTQ'TB
'abc' => '这是测试语言调用',
x U0i4L5ZJ0 最后的 , 是比不可少的,还有调用字符和显示文字,都必须使用 '' 引起。
2vi'nW d|#? _0 增加以后,到模板中,就能调用它,模板中写{lang abc}PHPChina 开源社区门户P,i6@n`
那么显示出来就直接显示: 这是测试语言调用PHPChina 开源社区门户CYi:k-TS

B3@ |q?:C*a0 PHPChina 开源社区门户!q.B4q.GdI
特别注意: 增加语言或修改语言包后,必须更新缓存哦!
q�[%_C p7`c:Wu0 PHPChina 开源社区门户5K'i;ljO"kyz9v

Q|Y$s2N&?,tm G1V0 五、风格 参数调用
"J&M2} H ufH1KG5?0 在模板中常见到{XXXXX}的语句。{}中的必须是大写。
7Oyq7S'm ^$XT0
(J/I^:ZF0 这些都是调用风格配色方案中的参数。您可以可以自己添加,方法 如下:
v? tSGT9P`V6Y0   1, 进入 界面风格 -> 界面风格 -> 您要添加参数的风格 点 [详情]PHPChina 开源社区门户&?e|}$c%S
  2, 进入后最下面,有两栏可以填写,一个是变量,一个是替换内容
7?!K9e5d2J~P+j5d0
x�khrvo,Ml0 相关实例:
!nii3dV0    变量写 FOOTERCOLOR (注意必须使用大写)PHPChina 开源社区门户3d lj kKZ;q�@'A
   替换内容写 #003399
swC8xCa0 提交后,修改模板,模板中写<font color="{FOOTERCOLOR}">测试风格自定义变量</font>
R,Scb+f0 那么出来的效果,这个 测试风格自定义变量 就会按照填写的替换内容的颜色来显示了。
peNLyn0
x'],JV5VLA(JD+~ @p0
g�Fq|T0J0
Kuc @[_P4y0 经过上面说了那么多,对于修改模板的时候需要注意或者可以应用到的应该让您了解不少了!PHPChina 开源社区门户7`]7w&_df]

b*M+w `5r.v0 希望对您有帮助,Enjoy It!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值