DedeCMS列表页隔行_多行随意换色
原创在很多列表调用的时候都需要有隔行换色或者多行不同颜色,特别在全通式的首页轮展图的时候,要想实现轮展图背景随着图片的更换,超过三张或多张的时候,隔行换色已经不能解决问题了,在原来的隔行换色的基础上,进行小小的修改就可以实现这样的功能。
列表调用隔行换色

照片墙形式

全通式首页轮展图背景色更换
标签说明:
arclist 标签下使用 [field:global.autoindex/] 默认从1开始
channel 标签下使用 [field:global.autoindex/] 默认从0开始
channelartlist 标签下使用 {dede:global.itemindex/} 默认从1开始
arclist 从0开始[field:global name=autoindex runphp="yes"]@me=@me-1;[/field:global]
channel 从1开始[field:global name=autoindex runphp="yes"]@me=@me+1;[/field:global][field:typename/]
channelartlist 从0开始{dede:global name=itemindex runphp='yes'}@me=@me-1;{/dede:global}
channelartlist 标签下使用 {dede:global name='itemindex' runphp='yes'}@me;{/dede:global}
隔行换色(增加样式),list同arclist
<div>
<ul>
{dede:list pagesize='50'}
<li>
[field:global runphp='yes' name=autoindex]
$a="<div id='a'>";
$b="<div id='b'>";
if ((@me%2)==0) @me=$a;
else @me=$b;
[/field:global]
<span class="date">[[field:typelink/]][field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
<a href="[field:arcurl /]">[field:title /]</a>
</li>
{/dede:list}
</ul>
</div>
如果运用channel弄隔行换色,需要自增从1开始,精简写法如下:
<div>
<ul>
{dede:channel row=6 typeid=''}
[field:global name=autoindex runphp="yes"]((@me+1) % 2 == 0)?@me="<li class=\"last\">":@me="<li>";[/field:global]
<h4 class="title">[field:title/]</h4>
</li>
{/dede:channel}
</ul>
</div>
隔3行(n行)换色(增加样式)精简写法
<div>
<ul>
{dede:arclist row=6 typeid=''}
[field:global name=autoindex runphp="yes"](@me % 3 == 0)?@me="<li class=\"last\">":@me="<li>";[/field:global]
<h4 class="title">[field:title/]</h4>
</li>
{/dede:arclist}
</ul>
</div>
多行随意换色(增加样式)
如果想随机生成彩色/样式,可以参考文章dede优化方法整理之:tag标签
<div>
<ul>
{dede:arclist typeid='8' row='6' orderby='weight'}
[field:global runphp='yes' name=autoindex]
$a="<li class='gd1'>";
$b="<li class='gd2'>";
$c="<li class='gd3'>";
$d="<li class='gd4'>";
$e="<li class='gd5'>";
$f="<li class='gd6'>";
if ((@me/1)==1) @me=$a; <!--调用的<li>次数(第一次调用)能被1整除,则该<li>对应$a的class='gd_1'-->
else if ((@me/2)==1) @me=$b;<!--调用的<li>次数(第二次调用)能被2整除,则该<li>对应$b的class='gd_2'-->
else if ((@me/3)==1) @me=$c;<!--调用的<li>次数(第三次调用)能被3整除,则该<li>对应$c的class='gd_3'-->
else if ((@me/4)==1) @me=$d;<!--调用的<li>次数(第四次调用)能被4整除,则该<li>对应$d的class='gd_4'-->
else if ((@me/5)==1) @me=$e;<!--调用的<li>次数(第五次调用)能被5整除,则该<li>对应$e的class='gd_5'-->
else if ((@me/6)==1) @me=$f;<!--调用的<li>次数(第六次调用)能被6整除,则该<li>对应$f的class='gd_6'-->
[/field:global]
<div class="gdbox">
<a href="[field:arcurl/]"><img src="[field:litpic/]" width="" height="" alt='[field:title function='html2text(@me)/][field:spacename/]' /></a>
<p><a href='[field:arcurl/]'>[field:title/]</a></p>
</div>
</li>
{/dede:arclist}
</ul>
</div>
精简写法
<div>
<ul>
{dede:arclist row=6 typeid=''}
<li class=gd_[field:global.autoindex]>
<h4 class="title">[field:title/]</h4>
</li>
{/dede:arclist}
</ul>
</div>
公共css样式部分
这里注意每张图的在调用的时候width和height可以为空,如果是或者乱填都没关系,靠样式进行定义。
<style type="text/css">
.gd1{width:750px;height:330px}
.gd2{width:370px;height:165px}
.gd3{width:185px;height:165px}
.gd4{width:185px;height:165px}
.gd5{width:335px;height:247px}
.gd6{width:335px;height:247px}
.gd1 img{width:750px;height:330px}
.gd2 img{width:370px;height:165px}
.gd3 img{width:185px;height:165px}
.gd4 img{width:186px;height:165px}
.gd5 img{width:335px;height:247px}
.gd6 img{width:335px;height:247px}
</style>
扩展阅读
- 解决页面引用外部CSS,JS修改后不同步问题
- DedeCMS移动栏目导航channelartlist判断当前栏目错误
- DedeCMS更换内容模型后文章不显示无损迁移数据
- DedeCMS表单自定义字段地区三级联动下拉选择修改优化版
- DedeCMS显示当前访问用户地域PHP方法
- DedeCMS自定义表单导出当天、两天的部分Excel数据
- DedeCMS缩略图引用HTTPS站外图片显示错误
- DedeCMS自定义表单批量审核增加删除全选取消全选按钮
- DedeCMS上传图片相对路径改为绝对路径有效处理办法
- DedeCMS实现URL不变PC和移动端展示不同模板
- DedeCMS不能正常删除栏目及文件夹的解决方案
- DedeCMS网站搬家后有效解决列表无法调用子栏目内容
本文地址:https://www.vi586.com/web/126.html
版权声明:原创文章,版权归重庆SEO吖七所有,欢迎分享本文,支持原创,转载请保留出处