建站学习网,专业提供各类建站教程,网页素材,SEO资讯等建站资源!
当前位置:建站学习网 > 织梦教程 > 织梦技巧 >

织梦dedecms的arclist循环中判断第一个li添加css,否则不加

整理编辑:建站学习网 更新时间:2017-08-28 阅读:0
  dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加

  写法如下:
{dede:arclist row=4  flag='p'}
 <li [field:global name=autoindex runphp="yes"](@me==1)? @me="class=on":@me="";[/field:global]>[field:global.autoindex/]</li>
{/dede:arclist}
[field:global name=autoindex runphp="yes"](@me==1)? @me="class=on":@me="";[/field:global]

  这句话的意思就是,如果循环出的是第一个,则添加class=on,否则为空。

  注意:红色部分有两个等号。

  ----------------------------------------------------------------------

  判断当前页是否为DedeCMS首页
{dede:geturl runphp='yes'}  
$cu = GetCurUrl();  
if($cu == '/'|| $cu == '/index.php'){  
    @me = 'current';  
}  
{/dede:geturl}

  ----------------------------------------------------------------------

  DedeCMS列表页判断字段是否为空
{dede:field.array runphp='yes'}
   if(@me['shorttitle']==''){
      @me=@me['title'];// 注意这个分号,不要忘记了
   }else{
      @me=@me['shorttitle'];// 注意这个分号,不要忘记了
   }
{/dede:field.array}

  ----------------------------------------------------------------------

  DedeCMS文章详细页判断字段是否为空
{dede:field.price runphp='yes'}
   if(@me<>''){
      @me = '人民币'.@me;// 注意这个分号,不要忘记了
   }else{
      @me='面议';// 注意这个分号,不要忘记了
   }
{/dede:field.price}

  ----------------------------------------------------------------------

  织梦的列表标签中有个弊端,就是不能在标签语句中直接使用if语句做判断,如果针对某个字段做判断的话 可以采用这样一种方法,在列表内部做判断,如果大家有更好的办法,希望能多多指点
{dede:list pagesize='4'} 
[field:array runphp='yes'] 
if(@me['zhiweishuxing']=='热招职位') 
{ 
@me = (strlen(@me['title'])>20) ? ('<li><a href='.@me['arcurl'].'>'.cn_substr(@me['title'],30).'...'.'</a></li>') :('<li><a href='.@me['arcurl'].'>'.@me['title'].'</a></li>'); 

} 
[/field:array] 
{/dede:list}

  ----------------------------------------------------------------------

  {channelartlist}这个标签在织梦dedecms中是频道列表的意思,加上这个标签,系统的所有栏目就会按顺序排列显示,今天在做模板的时候想在织梦dedecms的频道列表中对列表的分布进行区分,也就是排在第一的栏目采用一种class样式,排在第二的栏目则采用另一种class样式,利用dede:global标签也可以实现奇偶判别,从而达到这种效果。

  例如:

  第一个栏目(奇数)想采用这种<div class="1"></div>样式

  第二个出现的栏目(偶数)想采用这种 <div class="2"></div>样式

  依此循环。

  实现的方法如下:
{dede:channelartlist} 
<div class="{dede:global.itemindex runphp='yes'} 
if((@me %2) == 0) 
{ 
@me ='2'; 
} 
else{ 
@me = '1'; 
} 
{/dede:global.itemindex}></div> 
{/dede:channelartlist}


转载请注明出处:https://www.dedexuexi.com/dedejiaocheng/zmjq/3360.html