织梦dedecms实现列表页双样式和列表样式循环交替变化

2017-04-13 14:29:12 dedecms

  在做网址导航站时候,需要循环变化每个站点的背景样式,用于区分不同的行,方便手机上阅读。例如第一行背景是白色,第二行是蓝色,第三行又是白色,第四行继续蓝色……这样的循环方式。

  先来看一段代码。一般情况下,要轮换交替的变化,就需要如下类似的写法:

<div>

<a

href

=

"#"

>

新浪</a>

</div>

<div

class

=

"e1"

>

<a

href

=

"#"

>

搜狐</a>

</div>

<div>

<a

href

=

"#"

>

腾讯</a>

</div>

<div

class

=

"e1"

>

<a

href

=

"#"

>

网易</a>

</div>

……

  在对“e1”这个样式做背景上色处理后,实际显示效果应该就是带“e1”的第二和第四行,“搜狐”和“网易”行背景变色,而第一和第四行由于没有样式,继续显示为白色(默认情况下)。

  而DeDeCMS里面有这样一个函数,可以循环赋予html代码不同的样式,如下:

[field:global function=MagicVar("style1","style2")/]

  应用到实际中,给列表轮换交替的赋值,一般情况就是:

{dede:list pagesize='10'} <div

[field:global

function

=

MagicVar(

"style1"

,

"style2"

)/]

>

<ahref

="[field:arcurl/]"

>

[field:title/]</a>

</div>

{/dede:list}

  将style替换为诸如“class="e1"”这样的代码,解析出来的效果就如本文第一段代码的样式。这里需要注意,经过试验发现,上述第二段代码 示例中的”style1″和”style2″位置很有讲究,如果首先将样式放在“style1”的位置上,则第一行不会赋值,从第二行开始赋值,相反,如 果放在“style2”位置上,那么第一行循环就会开始赋值。