觀點

互聯網+時代,說建站,談運營與網絡營銷

拓展channel標簽實現limit功能

時間:2020-12-15

由于網站欄目多次需要調用同一欄目下的欄目比如頂級欄目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 保存
    0

    精美模版建站,性價比更高

    同時適配電腦和手機端,只要1280元,包2000M空間+送com/cn域名+免費備案,放心把復雜的事交給我們

    凯时平台