找回密码
 立即注册

QQ登录

只需一步,快速开始

应用currentorder标签让discuz的列表实现自动编号(非CSS有序列表方式)

通常可能有以下两个需求:1、自动编号;2、不同序号的样式不同。我们可能会想到程序上和CSS上来做工夫,程序上一般采用分步调出数据或者采用脚本才进行DOM操作,但这样的操作方式相对复杂,甚至对于很多新手朋友都不能做。如果采用CSS就需要利用ol有序表样式以及CSS伪类,一则ol我们可控制的比较有限,另外就是旧版本浏览器不支持某些CSS伪类。        而对于discuz来说,就算是一个只掌握了基本的html和css的朋友都可以比上面更完美的实现我们的需求。那就是使用currentorder标签,其实这得益于discuz使用了php的模板引擎。比如下面的这个效果就是连在一起的一个DIY模块,而是仅仅利用了额外的HTML+CSS(不含伪类控制)就实现的。
165150zwt2twjl2r57t5n1.png
  接下来我们讲具体的方法,我们首先来看看dz给我们默认的一个最简单标题+作者用户名列表的模板数据,当然这样的是给完全没有任何代码基础的站长使用的
  1. <div class="module cl xl xl1">
  2. <ul>
  3.     <li>
  4.     <em><a href="home.php?mod=space&uid={authorid}"{target}>{author}</a></em>
  5.   <a href="{url}" title="{title}"{target}>{title}</a>
  6. </li>
  7. <ul>
复制代码

上面这种显然是不能够的,而如果用下面的就可以轻易实现了
  1. <div class="module cl xl xl1">
  2. <ul>
  3.     <li><em><a href="home.php?mod=space&uid={authorid}"{target}>{author}</a></em>
  4. <i class="all_i i_{currentorder}">{currentorder}.<i><a href="{url}" title="{title}"{target}>{title}</a>
  5.     </li>
  6. <ul>
复制代码

大家可以看到我是在里面加了一个<i>,重点也是这部分,其中我加了一个文本({currentorder}.),加了两个class选择器(all_i i_{currentorder})。那么实现出来的效果就是,如果这里是8条数据,那么文本依次为1.——8.了。而对于选择器all是公共的,而后面的选择器则是对应于某一个的特有选择器。比如如果当前数据是第五条,那么这个<i>对应的选择器是all和i_5了。而且i_{currentorder}这种选择器的写法可以应用到其他的html标签,比如ul、li等等。到这里大家就可以轻易对任何一条数据的样式进行操作了。

本教程由无限星辰工作室CRX349独家整理和提供,转载请注明地址,谢谢。本文地址:https://xmspace.net/thread-447-1-1.html
无限星辰工作室  好集导航 Discuz全集下载  星辰站长网  集热爱361  一品文学  手机小游戏合集   海外空间网 星辰api  星辰支付二维码管理平台 LOT智能硬件聚合平台 阿里云服务器 腾讯云服务器
服务Discuz!建站|DiscuzQ配置|二开|小程序|APP|搬家|挂马清理|防护|Win/Linux环境搭建|优化|运维|
服务理念:专业 诚信 友好QQ842062626 服务项目 Q群315524225

发表于 2016-7-10 23:24:30 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 0 条回复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美图秀

    • 自建远程桌面服务器 rustdesk
    • Discuz!x3.4 账号保镖 自动冻结账号无效解
    • PVE换主板后 网络丢失解决方法
    • Kvm 虚拟机迁移到PVE里面
    • Discuz!x3,4 阿里云DCDN配置获取客户端ip
拖动客服框
Online Service
点击这里给我发消息
点击这里联系我们
微信扫一扫
在线客服
快速回复 返回顶部 返回列表