如何在channelartlist中控制每个栏目的样式

  有时候我们需要控制在channelartlist下的每一个子栏目的样式,例如:
  我现在有三个栏目,A所使用的class和其它栏目不一样:
   栏目A的代码为<div class="on">栏目A</div>
   栏目B的代码为<div class="off">栏目B</div>
   栏目C的代码为<div class="off">栏目C</div>
  那么,我们可以使用

{dede:global.itemindex runphp='yes'}
if((@me-1)==0){
@me = 'on';
}
else{
@me = 'off';
}
{/dede:global.itemindex}

  完整代码为:

{dede:channelartlist}
<div class="
{dede:global.itemindex runphp='yes'}
if((@me-1)==0){
@me = 'on';
}
else{
@me = 'off';
}
{/dede:global.itemindex}
">{dede:field name='typename'/}</div>
{/dede:channelartlist}

  如果想要换其它的控制样式的方法,只需要修改if中的公式,以下还有几种可以作为参考:
  第一个栏目与其它栏目不同样式的写法,if((@me-1)==0)
  隔行换样式的写法,if((@me %2) == 0)
  在arclist标签下的使用方法:

[field:autoindex runphp='yes']
if((@me=$GLOBALS['autoindex'])==0){
@me = 'on';
}
else{
@me = 'off';
}
[/field:autoindex]

猜你喜欢

转载自blog.csdn.net/jklgfgdsr/article/details/78930933