Discuz教程网

[插件制作] Discuz X2插件制作之DIY模块模板语法详解

[复制链接]
authicon dly 发表于 2011-5-4 10:49:12 | 显示全部楼层 |阅读模式
基本语句
[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同时有值时,幻灯片将不自动播放,需要配合左右(上下)按钮来实现变动
必须的JS代码
  1. <script type="text/javascript">
  2. runslideshow();
  3. </script>
复制代码

普通幻灯片示例代码
  1. <div class="module cl slidebox" timestep="3000">
  2. ...
  3. </div>
复制代码

列表显示示例代码
  1. <div class="module cl slidebox" slidenum="4" slidestep="1">
  2. ...
  3. </div>
复制代码

主体显示部分
识别样式名为slideshow,slideshow元素下的每一个子节点元素(非空白节点)将做为一个显示元素
示例代码
  1. <ul class="slideshow">
  2. [loop]
  3. <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>
  4. [/loop]
  5. </ul>
复制代码

控制部分
识别样式名为slidebar、slidebarup、slidebardown
slidebar元素下的每一个子节点元素(非空白节点)将做为一个控制元素,
slidebarup为上一个按钮,slidebardown为下一个按钮,slidebarup和slidebardown这两个不是必须的
属性值
mevent 控制元素鼠标响应事件,click或mouseover,默认为click
示例代码
  1. <ul class="slidebar" mevent="mouseover">
  2. [loop]
  3. <li>{currentorder}<li>
  4. [/loop]
  5. </ul>
复制代码

附加显示部分
识别样式名为slideother,一个幻灯片里可以有多个slideother,slidebar元素下的每一个子节点元素(非空白节点)将做为一个附加显示元素
示例代码
  1. <ul class="slideother">
  2. [loop]
  3. <li>{summary}<li>
  4. [/loop]
  5. </ul>
  6. <ul class="slideother">
  7. [loop]
  8. <li>{avatar_big}<li>
  9. [/loop]
  10. </ul>
复制代码






上一篇:Discuz X2插件制作之第三方DIY模块拓展类的开发
下一篇:Discuz X2插件制作之模板中添加DIY可拖拽区域
authicon kurt226 发表于 2011-5-9 08:59:57 | 显示全部楼层
有意思~顶顶 ,继续顶顶。继续顶哦
authicon №小乖 发表于 2011-5-11 15:59:42 | 显示全部楼层
看帖必回
authicon YNKAZUKI 发表于 2011-5-12 12:59:37 | 显示全部楼层
喜欢喜欢喜欢
authicon 暗夜的烟火 发表于 2011-5-14 17:59:48 | 显示全部楼层
哦哦,发财了啊,看到好东西啦
authicon 婷婷爱牛牛 发表于 2011-5-14 19:59:55 | 显示全部楼层
支持一下,确实是不错的贴子。
authicon 婷婷爱牛牛 发表于 2011-5-14 23:59:59 | 显示全部楼层
感谢分享  收下了·····
authicon 82xiaochong911 发表于 2011-5-15 02:59:38 | 显示全部楼层
顶你一下,好贴要顶!
authicon 风中徜徉 发表于 2011-5-15 12:59:31 | 显示全部楼层
好东西,要下来看看
authicon 82xiaochong911 发表于 2011-5-19 21:59:52 | 显示全部楼层
强人,佩服死了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-1 23:36

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表