当前位置:主页 > 设计教程 > CMS使用教程 >
如何让文章列表dede:arclist实现currentstyle的功能?
时间:2015-04-22 15:21来源:93diy作者:93diy点击:
简介:一般会用每个列建一个模板,当前列加样式,虽然这样能实现,但是如果这种列表比较多的时候,建起来就又慢又容易弄混出错。 织梦DEDECMS对导航栏dede:channel有currentstyle当前栏目加样式的功能,那么如何能让文章列表dede:arclist也实现currentstyle的功能呢?
我们在建站时,经常在关于我们这种页面要用到当前页带特殊样式高光到的效果,如下:
如何让文章列表dede:arclist实现currentstyle的功能?

一般会用每个列建一个模板,当前列加样式,虽然这样能实现,但是如果这种列表比较多的时候,建起来就又慢又容易弄混出错。
织梦DEDECMS对导航栏dede:channel有currentstyle当前栏目加样式的功能,那么如何能让文章列表dede:arclist也实现currentstyle的功能呢?

下面我们就来介绍一下:
首先我们要找到include/taglib/arclist.lib.php文件,并修改它;
1、查找到:
$channelid = $ctag->GetAtt('channelid');
在下面插入:
$currentstyle = $ctag->GetAtt('currentstyle');
2、查找:
return lib_arclistDone
          (
            $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,
            $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,
            $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
            $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),
            $tagid,$pagesize,$isweight           );
替换为:
return lib_arclistDone
          (
            $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,
            $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,
            $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,
            $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),
            $tagid,$pagesize,$isweight,$currentstyle
          );
3、查找
function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160,
        $imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='',
        $innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N')
替换为:
function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160,
        $imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='',
        $innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N',$currentstyle='')
4、查找
$row['textlink'] = "<a href='".$row['filename']."'>".$row['title']."</a>";
在下面插入:
if($currentstyle==1){
                if($row['id']==$arcid)  $row['arcurl']="<li class='this'><a href='".$row['filename']."' > ".$row['title']." </a>";
                else $row['arcurl']="<li ><a href='".$row['filename']."' > ".$row['title']." </a>";}
保存,修改完毕。

接着我们在模板里调用:
{dede:arclist   currentstyle='1'}
[field:arcurl/] 
{/dede:arclist}

currentstyle的样式就是在第四步里设置,可以按自己的需求修改当前页和非当前页的样式。 (责任编辑:93diy)

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------