方法一:使用<!--{ PHP代码 }-->
如果要在DISCUZ模板中运行PHP代码,必须放在<!--{和}-->这2组符号之间,discuz会执行其中的PHP代码。
例如:下面就是使用PHP代码进行判断并且输出值。
<!--{if $变量名=='值1'}-->
只输出这段html代码1
<!--{elseif $变量名=='值2'}-->
只输出这段html代码2
<!--{else}-->
只输出这段html代码3
<!--{/if}-->
只输出这段html代码1
<!--{elseif $变量名=='值2'}-->
只输出这段html代码2
<!--{else}-->
只输出这段html代码3
<!--{/if}-->
如果要判断是否为假,则改为
<!--{if !$变量名=='值'}-->
值你可以换成变量,不过要改成双引号。同样也可用函数。当判断为假时,将不会输出那段html代码,这既能减少页面大小,又能避免越权访问(例如用<!--{if $discuz_uid}-->判断是不是游客)。
方法二:使用<!--{eval $变量名='值';}-->
<!--{eval $变量名='值';}-->
可以将变量或函数值使用PHP代码赋值给另一个变量。那个eval并不是声明,PHP的变量是无需声明的,不像JavaScript要写个var。
最后是输出。
<!--{$变量名}-->
例如生成JavaScript代码:
<!--{"<script type='text/javascript'>JavaScript代码</script>";}-->
方法三:模板直接引用PHP文件
上面二种方法是将PHP代码直接书写在DISCUZ模板里面,但是如果要书写的代码非常多的情况下,这二种方法就不适用了,就可以使用第三种方法:模板直接引用PHP文件。
先将所有的PHP代码写在一个PHP文件里,然后传到模板文件夹下,使用以下的代码引用这个PHP文件;(放在模板的顶部)
{eval include TPLDIR.'/shu.php';}
再使用<!--{echo $hyshu;}-->调用PHP文件写的变量的值就可以了。
本文摘自网络,不代表短经典网立场 https://www.duanjingdian.com/588.html