巅峰霸主 > 设计开发 > 前端技术 >

discuz模板使用PHP代码详解

时间:2021-02-19 20:16:48  来源:巅峰霸主网  作者:烈火大地 点击:
摘要:discuz模板里面是不能直接使用PHP代码的,需要在HTML模板里面加上一个注释符号,这样就可以使用PHP代码来输出需要的内容和函数了,规则如下……

Discuz!的模板都是htm文件,本来是不能使用PHP代码的,但因为在被include时,Discuz!会有个解析过程,执行其中的PHP代码,所以可以同样可以使用。


首先说基本格式。
html的注释都放在<!--和-->这2组符号之间,浏览器会忽略这部分代码。
而模板中的PHP代码则必须放在<!--{和}-->这2组符号之间,discuz会执行其中的PHP代码。
但是,JavaScript和CSS里的注释是无效的,浏览器照样会执行。所以不要在这2者之中,用这种形式插入PHP代码。实在想输出,可以见本文最后。
此外,如果你不熟悉PHP,而懂JavaScript之类的语言,我只说2点:1是变量名以$符号开头;2是字符串分为'字符串1'和"字符串2"两种,后者会解析并替换其中的PHP变量(假设$a为1,那么'$a'的内容是$a,"$a"的内容是1)。

再说控制流程。

<!--{if $变量名=='值1'}-->只输出这段html代码1<!--{elseif $变量名=='值2'}-->只输出这段html代码2<!--{else}-->只输出这段html代码3<!--{/if}-->

应该很好懂吧,也支持嵌套。
如果要判断是否为假,则改为<!--{if !$变量名=='值'}-->,或者<!--{if $变量名!='值'}-->。
值你可以换成变量,不过要改成双引号。同样也可用函数。
注:当判断为假时,将不会输出那段html代码,这既能减少页面大小,又能避免越权访问(例如用<!--{if $discuz_uid}-->判断是不是游客)。

然后是赋值。

<!--{eval $变量名='值';}-->

同样也可将变量或函数值赋值给另一个变量。
那个eval并不是声明,PHP的变量是无需声明的,不像JavaScript要写个var。

最后是输出。

<!--{echo '想输出的内容';}-->

例如生成JavaScript代码:

<!--{echo "<script type='text/javascript'>你的JavaScript代码放这里,注意引号要用转义字符</script>";}-->

你也许会说,为什么不直接写个JavaScript,而要用PHP生成呢。
因为这样生成的JavaScript代码,可以直接使用PHP变量。

基本上所要用到的就这么多了,你也可以翻翻PHP手册,试试其他的可不可用。
更复杂的你还是别在模板里面写了,直接用PHP吧。


(责任编辑:陆柏熺)
评价:
用户名: 验证码: 看不清?点击更换


关注站长自媒体 获取更多优质内容

  • 百家号
    百家号
  • 头条号
    头条号
  • 企鹅号
    企鹅号

2019-2021 ©巅峰霸主网 京ICP备12023415号-2
返回
顶部