出自Discuz! 技术文库
基本语句
- [loop]...[/loop]标签来循环显示模块中的数据;如果要在模板中多处循环可以使用[loop1]...[/loop1]的方式扩展(只能扩展1-9个)
- [order=N]...[/order]标签来替代默认loop中的第N个位置数据的展示,你可以使用[order1=N]...[/order1]的方式来扩展(对应[loop1],只能扩展1-9个)
- 其中:[order=odd]为奇数行,[order=even]为偶数行
- [index=N]...[/index]的方式来指定第N条数据的展示方式,由该语法指定的数据不再在loop循环中出现,可以通过[index1]...[/index1]的方式来扩展(只能扩展1-9个)以实现同一条数据多处展示
通用变量
- 当前数据的链接地址:{url}
- 当前数据的标题:{title}
- 当前数据的图片地址:{pic}
- 当前数据的简介:{summary}
- 当前数据顺序:{currentorder}
- 当前数据是否在奇数行:{parity},奇数行为1,偶数行为0
- 可设置打开方式的链接:<a href="{url}"{target}>{title}</a>
- 可设置缩略图大小的图片:<img src="{pic}" width="{picwidth}" height="{picheight}" />
特殊字段变量
- 在PHP数据类的fields方法中定义的变量都可以使用,如帖子类有{author},{authorid},{forumname},{dateline}等等
- 变量只在[loop]、[order]、[index]标签内生效
百变幻灯片语法
- 幻灯片的HTML结构分为整体大结构和三个内部部分,你可以在自己的模板中使用,也可以在DIY模块模板中使用
整体大结构
- 幻灯片的识别样式名为slidebox,可以使用任何容器类的HTML标签,如div,table等
- 属性值
- timestep 控制幻灯片播放的速度,单位是毫秒,默认是2500毫秒
- slidenum 表示显示数量,默认是0
- slidestep 表示每点击一次左右(上下)按扭 移动的个数,默认是0
- 当slidenum和slidestep同时有值时,幻灯片将不自动播放,需要配合左右(上下)按钮来实现变动
<script type="text/javascript">
runslideshow();
</script>
-
<div class="module cl slidebox" timestep="3000">
...
</div>
-
<div class="module cl slidebox" slidenum="4" slidestep="1">
...
</div>
主体显示部分
- 识别样式名为slideshow,slideshow元素下的每一个子节点元素(非空白节点)将做为一个显示元素
- 示例代码
<ul class="slideshow">
[loop]
<li style="width: {picwidth}px; height: {picheight}px;"><a href="{url}"{target}><img src="{pic}" width="{picwidth}" height="{picheight}" /></a><span class="title">{title}</span></li>
[/loop]
</ul>
控制部分
- 识别样式名为slidebar、slidebarup、slidebardown
- slidebar元素下的每一个子节点元素(非空白节点)将做为一个控制元素,
- slidebarup为上一个按钮,slidebardown为下一个按钮,slidebarup和slidebardown这两个不是必须的
- mevent 控制元素鼠标响应事件,click或mouseover,默认为click
<ul class="slidebar" mevent="mouseover">
[loop]
<li>{currentorder}<li>
[/loop]
</ul>
附加显示部分
- 识别样式名为slideother,一个幻灯片里可以有多个slideother,slidebar元素下的每一个子节点元素(非空白节点)将做为一个附加显示元素
- 示例代码
<ul class="slideother">
[loop]
<li>{summary}<li>
[/loop]
</ul>
<ul class="slideother">
[loop]
<li>{avatar_big}<li>
[/loop]
</ul>
一个完整的代码示例
<div class="module cl slidebox" timestep="3000">
<ul class="slideshow">
[loop]
<li style="width: {picwidth}px; height: {picheight}px;">
<a href="{url}"{target}><img src="{pic}" width="{picwidth}" height="{picheight}" /></a>
<span class="title">{title}</span>
</li>
[/loop]
</ul>
<ul class="slidebar" mevent="mouseover">
[loop1]
<li>{currentorder}</li>
[/loop1]
</ul>
<ul class="slideother">
[loop2]
<li>{summary}</li>
[/loop2]
</ul>
</div>
<script type="text/javascript">
runslideshow();
</script>