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高级模式进行数据设置
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。