找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 140|回复: 0

[cms教程] 拓展channel标签实现limit功能

[复制链接]

该用户从未签到

发表于 2020-11-1 13:01:17 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
由于网站栏目多次需要调用同一栏目下的栏目比如顶级栏目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 保存
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-11-6 08:08

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表