西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)php教程 → DEDECMS v5.6教程之實(shí)現(xiàn)分類信息的過濾

DEDECMS v5.6教程之實(shí)現(xiàn)分類信息的過濾

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站整理時(shí)間:2010/11/29 11:02:06字體大小:A-A+

作者:佚名點(diǎn)擊:137次評(píng)論:0次標(biāo)簽: DEDECMS

  • 類型:源碼相關(guān)大。9.4M語言:中文 評(píng)分:3.3
  • 標(biāo)簽:
立即下載

這些天在做一個(gè)物流系統(tǒng)的二次開發(fā),主要還是模板設(shè)計(jì)。下面先介紹這個(gè)應(yīng)用背景:我們有一個(gè)新建的頻道模型,其中有個(gè)字段是用的dede中的地區(qū)聯(lián)動(dòng)表單——nativeplace,F(xiàn)在如果客戶進(jìn)來以后會(huì)發(fā)現(xiàn)有大量的信息,而客戶最關(guān)心的還是自己身邊的目標(biāo)信息。因此就希望能通過地區(qū)選擇對(duì)此分類信息進(jìn)行過濾。

\

效果如上圖所示,下面獻(xiàn)上相關(guān)代碼。首先在對(duì)應(yīng)的List模板中添加以下內(nèi)容,作用是生成圖中頂上的過濾選項(xiàng):

{dede:infoguide} <form name='infoguide' method='get' action='/plus/list.php'> <table> <tr> <td> [field:nativeplace /]</td> <td> [field:infotype /]</td> <td> <span class='infosearchtxt'>關(guān)鍵字:</span> <span><input type='text' name='keyword' value='' class="ipt-txt" /></span> <input type='submit' value='搜索信息' class="btn-2" style='cursor:pointer' /></td> <td><input type='button' value='發(fā)布信息' class="btn-2" onclick="location='/member/archives_sg_add.php?channelid=-8';" style='cursor:pointer' /></td> </tr> </table> <input type='hidden' name='tid' value='[field:typeid /]' /> <input type='hidden' name='channelid' value='-8' /> </form> {/dede:infoguide}

  下面我只講地區(qū)過濾的實(shí)現(xiàn),其它的請(qǐng)自己補(bǔ)充。找到/plus/list.php中:$t1 = ExecTime();改為以上代碼

  這里關(guān)鍵是定義了一個(gè)$mysql變量,勝于組織過濾的SQL語句。

  還是這個(gè)文件,接著往下找$lv = new ListView($tid);改為:$lv = new ListView($tid,$mySql);。

  找到include/arc.listview.class.php在:var $remoteDir;后面添加:var $mySql;

  將下面的//php5構(gòu)造函數(shù)改為:function __construct($typeid,$mySql,$uppage=1);

  接著將在:global $dsql,$ftp;后面添加一行:$this->mySql = $mySql;

  接下來在這個(gè)文件中有一段官方注釋://普通情況先從arctiny表查出ID,然后按ID查詢(速度非?欤┱业酱颂帯O旅嬗袃蓚(gè)else,我們要改的地方是第二個(gè)else中的query 。也就是整個(gè)文件中的第一個(gè)$t2 = ExecTime();之前的那個(gè)else中的Query.將其where后面的部分改為:where arc.id in($idstr) $mySql $ordersql “;

  至此,我們的分類信息過濾就已經(jīng)可以用了。

GET as $k => $v){ if($k=='nativeplace'){ $mySql = $mySql . ' and ' . $k . "='" . $v . "'"; } }

   這里關(guān)鍵是定義了一個(gè)$mysql變量,勝于組織過濾的SQL語句。

  還是這個(gè)文件,接著往下找$lv = new ListView($tid);改為:$lv = new ListView($tid,$mySql);。

  找到include/arc.listview.class.php在:var $remoteDir;后面添加:var $mySql;

  將下面的//php5構(gòu)造函數(shù)改為:function __construct($typeid,$mySql,$uppage=1);

  接著將在:global $dsql,$ftp;后面添加一行:$this->mySql = $mySql;

  接下來在這個(gè)文件中有一段官方注釋://普通情況先從arctiny表查出ID,然后按ID查詢(速度非常快)找到此處。下面有兩個(gè)else,我們要改的地方是第二個(gè)else中的query 。也就是整個(gè)文件中的第一個(gè)$t2 = ExecTime();之前的那個(gè)else中的Query.將其where后面的部分改為:where arc.id in($idstr) $mySql $ordersql “;

  至此,我們的分類信息過濾就已經(jīng)可以用了。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)