二次开发

您的位置: 首页 > 织梦CMS > 二次开发

织梦dedecms相关文章likearticle支持limit

作者:景团网络 来源:http://www.lijingtuan.com 点击:

        给likearticle标签增加limit,这个功能我设想了很久了,直到今天才琢磨透彻并且在网站上调用成功,有些朋友不知道这个代码有什么用处,其实细想也没有什么大的用处,不过是在图片内容添加的时候添加一张图片,内容调用的时候显示出很多的类似大图而已。我们来看修改方法:
        首先我们找到likearticle标签的控制php文件,include/taglib/likearticle.lib文件,找到

    //属性处理
    $attlist="row|12,titlelen|28,infolen|150,col|1,tablewidth|100,mytypeid|0,byabs|0,imgwidth|120,imgheight|90";
    FillAttsDefault($ctag->CAttribute->Items,$attlist);
    extract($ctag->CAttribute->Items, EXTR_SKIP);
    $revalue = '';

把它修改成:

    //属性处理     $attlist="row|12,titlelen|28,infolen|150,col|1,tablewidth|100,mytypeid|0,byabs|0,imgwidth|120,imgheight|90,limit|0";     FillAttsDefault($ctag->CAttribute->Items,$attlist);     extract($ctag->CAttribute->Items, EXTR_SKIP);     $revalue = '';

也就是在第一行末尾处添加了一个limit字段,接下来查找:

    if($keyword != '')
    {
             if(!empty($typeid)) {
                     $typeid = " AND arc.typeid IN($typeid) AND arc.id<>$arcid ";
             }
             $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
                  tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
                  FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
                  where arc.arcrank>-1 AND ($keyword)  $typeid $orderquery limit 0, $row";
    }
    else
    {
            if(!empty($typeid)) {
                    $typeid = " arc.typeid IN($typeid) AND arc.id<>$arcid ";
            }
            $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
                  tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
                  FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
                 WHERE arc.arcrank>-1 AND  $typeid $orderquery limit 0, $row";
    }

将里面的

 limit 0, $row

替换成

 limit $limit

最终就是:

    if($keyword != '')
    {
             if(!empty($typeid)) {
                     $typeid = " AND arc.typeid IN($typeid) AND arc.id<>$arcid ";
             }
             $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
                  tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
                  FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
                  where arc.arcrank>-1 AND ($keyword)  $typeid $orderquery limit $limit";
    }
    else
    {
            if(!empty($typeid)) {
                    $typeid = " arc.typeid IN($typeid) AND arc.id<>$arcid ";
            }
            $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
                  tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
                  FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
                 WHERE arc.arcrank>-1 AND  $typeid $orderquery limit $limit";
    }

好了,大功告成了,内容页的调用代码为两种:第一种是下面这种代码形式,大家可以看到在图片调用之中添加了一个字符串替换函数,因为织梦的缩略图和原图之间就是差一个"-lp",所以我们将这个"-lp"替换成空,调用出来的就是原图了。

{dede:likearticle col='' titlelen='' limit='0,2'}
 <img src='[field:litpic function='str_replace("-lp","",@me)'/]' />
{/dede:likearticle}

第二种是最为普遍的likearticle标签调用格式,一般是放在内容页的内容的地步,和内容相关联。

{dede:likearticle col='' titlelen='' limit='2,8'}
<li><a href="[field:arcurl/]" target="_blank"><img width="110" height="110" src='[field:litpic/]' alt='[field:title/]'></a>
<a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>
{/dede:likearticle}

大家可以看出来,第一条调用了2条内容,第二次是从第3条内容开始调用了8条,好了,更多的教程大家可以搜索哦!好了,今天就到这里吧!

 

织梦CMS模板

更多

帝国CMS模板

更多
赞助商链接
赞助商