一、模板 调用
比如在某个模板中,想调用另一个模板中的内容,可以用下面的语句:
{template xxx}
假设,建立了一个新模板名字叫 "abc.htm" ,在后台 模板编辑时只会显示为 "acb",需要在 index 中调用它,那么就在index 中适当位置加入 {template abc}
那么就会自动代用它。
相关实例: index 模板中,最顶有 {template header},最底有 {template footer}
相关疑问:
那么在这个 abc 模板中需要有 <html><body></body></html> 吗?
不需要的!想要显示什么,就写什么,因为它只是整个网页的一部分! <html><body></body></html> 都已经在header和footer模板中了。
二、固定参数
$seohead --- 后台设置 的头部信息
$charset --- config.inc.php中设置语言字符集,必不可少,不能删除!
$extrahead --- 控制论坛 自动跳转参数,必不可少,不能删除!
{eval updatesession();} --- 更新论坛 session 表的参数,必不可少,不能删除!
{eval output();} --- 结束论坛输出,必不可少,不能删除!
以上的参数以Discuz ! 4.0为准,这些参数会因应不同版本而有所不同!
还有一些 $xxx 的也是一些参数如非插件 作者或程序 开发请勿乱修改!
三、数据 判断
1、在模板中会经常见到<!--{if xx}-->xxx<!--{else}-->xx<!--{/if}-->的语句。
这些并非普通HTML 中的注释,而是Discuz!特有的模板判断语法,就好比php 或者其他 语法中的 if,else,then等等。
通过这些语法,能够达到不同的模板效果 。
相关实例:
header 模板中
复制内容到剪贴板
代码 :<!--{if $discuz_uid}--> --- 如果获取了 $discuz_uid ,即显示下面资料(判断1)
<span>$discuz_userss: </span> <a href="https://www.jb51.net/$link_logout">{langlogo ut}</a>
<!--{if $maxpmnum}--> --- 如果有 $maxpmnum,即显示下面资料,否则不显示(判断2)
| <a href="https://www.jb51.net/article/pm.php" target="_blank">{lang pm}</a>
<!--{/if}--> --- 结束了这个判断(判断2)
| <a href="https://www.jb51.net/memcp.php">{lang memcp}</a>
<!--{if in_array($adminid, array(1,2,3))}--> --- 如果$adminid在1,2,3这三个范围内,即显示下面资料,否则不显示(判断3)
| <a href="https://www.jb51.net/admincp.php" target="_blank">{lang admincp}</a>
<!--{/if}--> --- 结束了这个判断(判断3)
<!--{else}--> --- 如果获取不了 $discuz_uid ,则显示下面资料
<span>{lang guest}: </span><a href="https://www.jb51.net/$link_register">{lang register}</a>
| <a href="https://www.jb51.net/$link_login">{lang login}</a>
<!--{/if}--> --- 结束这个判断(判断1)
2、在模板中会经常见到<!--{loop xx}-->xxx<!--{/loop}-->的语句。
这个为循环语句,直到数据输出完毕,就会自动结束。
通过这些语法,能够达到把同一系列的资料进行循环显示效果。
相关实例:
header 模板中
复制内容到剪贴板
代码:<!--{loop $plugins['links'] $plugin}--> --- 循环1开始,判断插件
<!--{loop $plugin $module}--> --- 循环2开始,判断插件模组
<!--{if !$module['adminid'] || ($module['adminid'] && $adminid > 0 && $module['adminid'] >= $adminid)}-->| $module[url] <!--{/if}-->
<!--{/loop}--> --- 结束循环2
<!--{/loop}--> --- 结束循环1