discuz的模板配置和创建

默认模板default的目录说明
default 默认模板目录
|——common 样式与公共模板
|——forum 论坛模板
|——group 群组模板
|——home 个人中心
|——member 用户登录,注册
|——mobile 移动端的模板
|——portal 门户的模板
。。。
。。。
***.xml 模板变量的xml文件
preview.jpg 缩略模板图
preview_large.jpg 大号模板图

自定义模板和默认模板的关系
DISCUZ在进行模板的显示时,会检测当前模板设置,如果检测不到模板的设置,就会自动去找default下的模板页面!!!

模板xml文件参数解释
DISCUZ模板的数据才用XML文件存储,常见参数如下

父ID id 默认值 参数作用
data name 默认风格 风格名称
data templateid 1 风格ID值
data tplname 默认模板套系 风格名称
data directory ./template/default/ 风格目录
data copyright 康盛创想(北京)科技有限公司 风格版权

上面该文件可以复制default下的xml文件到新建的模板文件夹下修改即可

如何修改站点的宽窄风格?
后台-》界面-》界面设置-》全局-》站点宽窄风格设置(同时可以允许用户是否自定义设置宽窄屏)

如何修改主题列表页左侧的bank导航栏?
后台-》界面-》主题列表页-》左侧板块导航宽度(同时可以自定义是否展开)

如何添加主导航栏?
后台-》界面-》主导航-》新增一个主导航(新增导航后记得开启勾选可用)

如何修改左上方网站logo?
将logo图片文件拷贝到/static/image/common/目录下
然后进入到后台-》界面-》风格管理-》(选择风格)编辑-》站点Logo修改即可

discuz模板样式的修改

默认风格目录
default 默认模板样式目录
|——common 样式与公共模板目录
   |——common.css 公共样式文件
   |——module.css 模块样式文件
   |——header.htm 公共头部模板

查看discuz的默认xxx.css,里面会有css样式详细注释,对修改很有帮助!

自定义风格目录说明
default 默认模板样式目录
zhencheng 自定义模板样式目录
 |——common 样式与公共模板目录
   |——extend_common.css 附加公共样式文件
   |——extend_module.css 附加模块样式文件

如果要自定义风格的时候,如果要自定义公共或模块的样式是,需要在两个css前面加extend的前缀!!因为discuz会把自定义的extend_xxx.css的样式加在默认目录下的common.css或module.css的下面,这样自定义的样式会覆盖默认的样式,实现自定义风格!

注意
自定义模板的extend_module.css文件的时候,写入的规则要如下,下面的代码的意思就是在,入口文件是forum.php,mod的参数是forumdisplay模块,下面的样式就会被forum入口的forumdisplay应用到!

/** forum::forumdisplay **/
.tl .th { color:red;background:blue; }
/** end **/

discuz的标签说明

模板文件的定位
一般情况
/forum.php?mod=forumdisplay

forum是模块目录名
forumdisplay模块文件名

对应的模板文件是template/forum/forumdisplay.htm

特殊情况
/home.php?mod=space&do=pm

home是模块目录名
space和do是模块文件名

对应的模板文件是template/home/space_pm.htm

子模板调用标签
作用
 通过调用字幕不,实现模板分离,提供模板复用率
使用方法
 {template 子模板目录/子模板文件名}
 {subtemplate 子模板目录/子模板文件名}

案例:
/template/zhencheng/forum/forumdisplay.htm目录下写入如下代码,即可调用discuz的头部和尾部,但是中间是我们输入的<p>哈哈哈</p>内容

{template common/header}
<p>哈哈哈</p>
{template common/header}

template和subtemplate的区别
在3.0之前subtemplate不支持ajax调用,3.0之后二者都支持ajax调用
而subtemplate会在模板生成的时候会一起被编译到xxx.htm页面中,建议使用

变量输出标签
作用
 输出变量值,支持多为数组,变量嵌套方式
使用方法
 {$变量名}或$变量名

案例:
在模板中,显示当前登录的用户名

{template common/header}
<p>{$_G['username']}</p>
{template common/header}

常量输出标签
作用
 输出常量值
使用方法
 {常量名}

案例:
在模板中,显示当前时间和DISCUZ的跟目录

{template common/header}
<p>{TIMESTAMP}</p>
<p>{DISCUZ_ROOT}</p>
{template common/header}

万能输出标签
作用
 输出任意值,支持变量、常量、函数、对象属性、对象方法、PHP语句等
使用方法
{echo 输出的代码}

案例:
在模板中,使用discuz自带的加密方法加密

{template common/header}
<p>{echo authcode('zhencheng','ENCODE','dz')}</p>
{template common/header}

执行单行代码标签
作用
 执行任意的单行php代码
使用方法
 {echo 任意的PHP代码}

案例:
在模板中,定义一个变量,然后输出出来

{template common/header}
{eval $v = 'discuz'}
<p>{$v}</p>
{template common/header}

执行多行代码标签
作用
 执行任意的多行php代码
使用方法
 {eval}
   php代码
   php代码
   php代码
 {/eval}

案例:
在模板中,定义一个方法,然后输出出来

{template common/header}
{eval}
function show(){
    echo 'hello world!';
}
{/eval}
<p>{eval show()}</p>
{template common/header}

输出头像标签
作用
 输出指定用户ID的头像,支持大中小三个尺寸
使用方法
 {avatar(用户ID,'big')}
 {avatar(用户ID,'medium')}
 {avatar(用户ID,'small')}

案例:
在模板中,根据UID,显示用户头像

{template common/header}
<p>{avatar(1,'big')}</p>
<p>{avatar(1,'big')}</p>
<p>{avatar(1,'big')}</p>
{template common/header}

循环数组标签
作用
 对php的数组数据进行遍历
使用方法

{loop $数组名 $索引 $值}......{/loop}
{loop $数组名 $值}.......{/loop}

案例:
在模板中,定义个数组,然后遍历输出

{template common/header}
{eval}
$arr = array(
    'name'=>'z1',
    'name'=>'z2',
    'name'=>'z3',
    'name'=>'z4'
);
{/eval}
{loop $arr $key $val}
<p>{$key}=>{$val}</p>
{/loop}
{template common/header}

逻辑判断标签
作用
 实现流程控制
使用方法
 {if 条件}
 {elseif 条件}
 {else}
 {/if}

案例:
在模板中,判断变量,输出

{template common/header}
{eval $a = 1}
{if $a>1}
<p>非常好!!</p>
{/if}
{template common/header}

时间戳输出
作用
 输出一个时间戳格式,格式化为日期格式
使用方法
 {date(TIMES)}

案例:
在模板中,输出时间

{template common/header}
{date(TIMESTAMP)}
{template common/header}

广告调用标签
作用
 输出一段广告内容到页面上,后台可定制
使用方法
 {ad/广告标识符}

案例:
在后台-》运营-》站点广告-》广告位-》添加自定义广告位(新增一个广告位zhencheng_ad_test)
在模板中,输出内部调用的内容

{template common/header}
<!--{ad/custom_2}-->
{template common/header}

数据调用标签
作用
 通过后台设置数据块,模板可以调用任意数据显示
使用方法
 {block/模块id}

案例:
在后台-》门户-》模块管理-》数据调用-》选择模块类型(选择模块类型后点击添加调用,选择模块内容来源)
在模板中,输出内部调用的内容

{template common/header}
<!--{block/3}-->
{template common/header}

变量的拼接标签
作用
 拼接php与html混编代码到指定变量中
使用方法
 {block 变量名}混编代码{/block}

案例:
在模板中,输出内部调用的内容

{template common/header}

{block zhencheng}


<h1>hello world!</h1>


{/block}

{$zhencheng}
{template common/header}

钩子调用标签
作用
 结合插件系统,输出插件到指定嵌入点的返回值
使用方法
 {hook/模块名称_自定义名称}

案例:
在模板中,输出内部调用的内容

{template common/header}

{block zhencheng}


<h1>hello world!</h1>


{/block}

{$zhencheng}
{template common/header}

输出换行标签
作用
 在模板中输出unix的换行符
使用方法
 {LF}

案例:
在模板中,输出内部调用的内容

{template common/header}

{block zhencheng}


<h1>hello world!</h1>


{/block}
{LF}{LF}{LF}
{$zhencheng}
{template common/header}

DIY调用标签
作用
 创建DIY数据调用的容器,实现DIY拖动效果
使用方法

    

案例:
在模板中,在前段进行diy高级模式进行数据设置


甄城
1.2k 声望34 粉丝

引用和评论

0 条评论