拓展channel标签实现limit功能

作者: jiukeshuju 分类: DEDECMS 发布时间: 2020-10-02 14:41



由于网站栏目多次需要调用同一栏目下的栏目比如顶级栏目6 下级栏目5.4.3.2.1 需要分两次分别调出543和21 感觉channel就比较吃力了全部写SQL又太多,可能是我还不知道有其他方法吧。row调用不出这种效果所以就把row改为了Limit用法了比较方便 修改文件include\taglib/下面的channel.lib.php 在函数lib_channel里面加上


//limit条件


    $limit = trim(eregi_replace(‘limit’,”,$limit));


    if($limit!=”) $limitsql = ” limit $limit “;


    else $limitsql = ” limit 0,7 “;

    $orwhere = ”;


    if(isset($orwheres[0])) {


        $orwhere = join(‘ And ‘,$orwheres);


        $orwhere = ereg_replace(“^ And”,”,$orwhere);


        $orwhere = ereg_replace(“And[ ]{1,}And”,’And ‘,$orwhere);


    }


    if($orwhere!=”) $orwhere = ” where $orwhere “;//二次开发

——————————————————————————–

把上面的代码,添加到函数lib_channel(具体位置为:)

function lib_channel(&$ctag,&$refObj)


{


    global $dsql;

    $attlist = “typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|”;


    FillAttsDefault($ctag->CAttribute->Items,$attlist);


    extract($ctag->CAttribute->Items, EXTR_SKIP);


    $innertext = $ctag->GetInnerText();


    $line = empty($row) ? 100 : $row;

———————————————————-


这段代码后面


所有查询条件的limit 0,$row改为$limitsql OK 保存

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!