• 0712-2888027 189-8648-0214
    微信公眾號

    孝感風信網絡科技有限公司微信公眾號

    當前位置:主頁 > 技術支持 > DedeCMS > dedecms分類信息中如何添加自定義檢索字段

    dedecms分類信息中如何添加自定義檢索字段

    時間:2024-03-27來源:風信官網 點擊: 461次

    織夢分類信息頻道頁面有幾個信息檢索類型。默認的有地區、信息類別。如果要再多添加幾個怎么辦呢?這里不能直接調用,必須修改頁面代碼。全部過程份為三 步,

    第一,在后臺添加聯動類型。

    添加方法很簡單,在后臺找到“核心——頻道類型——聯動類別管理”。找到這兒,然后添加一個自己需要的聯動類別。這個比較 簡單,相信大家都能辦到。第二部比較麻煩,需要修改四個文件。
    1. include\taglib\infolink.lib.php
    require_once(DEDEROOT.'/data/enums/infotype.php');下面添加
    require_once(DEDEROOT.'/data/enums/自定義聯動類別字段名.php');
    function lib_infolink(&$ctag,&$refObj)
    {
    global $dsql,$nativeplace,$infotype,$自定義聯動類別字段名,$hasSetEnumJs,$cfg_cmspath,$cfg_mainsite;
    global $em_nativeplaces,$em_infotypes,$em_自定義聯動類別字段名s; //看清楚,這里后面的個S
    $fields = array('nativeplace'=>'','infotype'=>'','自定義聯動類別字段名'=> '','typeid'=>$typeid, 'channelid'=>$channelid,'linkallplace'=>'','linkalltype'=> '','linkeall自定義聯動類別字段名'=>'');
    $fields['nativeplace'] = $fields['infotype'] = $fields['自定義聯動類別字段名'] = '';
    ============================================================
    $fields['linkalltype'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;nativeplace={$nativeplace}'>不限</a>";

    //下面添加一行

    $fields['linkeall 自定義聯動類別字段名'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;nativeplace={$nativeplace}'>不限</a>";

    搜索 if(is_array($ctp->CTags)) 在這句上面添加
    //自定義聯動類別字段鏈接
    if(empty($自定義聯動類別字段名))
    {
    foreach($em_自定義聯動類別字段名s as $eid=>$em)
    {
    if($eid % 500 != 0) continue;
    $fields['自定義聯動類別字段名'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;自定義聯動類別字段名={$eid}&nativeplace={$nativeplace}'>{$em}</a& amp; gt;";
    }
    }
    else
    {
    $sontype = ( ($自定義聯動類別字段名 % 500 != 0) ? $自定義聯動類別字段名 : 0 );
    $toptype = ( ($自定義聯動類別字段名 % 500 == 0) ? $自定義聯動類別字段名 : ( $自定義聯動類別字段名-($membertype%500) ) );
    $fields['自定義聯動類別字段名'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;自定義聯動類別字段名={$toptype}&nativeplace={$nativeplace}'><b> {$em_自定義聯動類別字段名s[$toptype]}</b></a> ";
    foreach($em_自定義聯動類別字段名s as $eid=>$em)
    {
    if($eid < $toptype+1 || $eid > $toptype+499) continue;
    if($eid == $自定義聯動類別字段名) {
    $fields['自定義聯動類別字段名'] .= " <b>{$em}</b>";
    }
    else {
    $fields['自定義聯動類別字段名'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}& amp;自定義聯動類別字段名={$eid}&nativeplace={$nativeplace}'>{$em}</a& amp; gt;";
    }
    }
    }
    //以上文件修改完了!

    2. plus\list.php 文件

    搜索 $infotype = ( (empty($infotype) || !is_numeric($infotype)) ? 0 : $infotype ); 在下面添加一句:
    $自定義聯動類別字段名 = ( (empty($自定義聯動類別字段名) || !is_numeric($自定義聯動類別字段名)) ? 0 : $自定義聯動類別字段名 );
    再搜索 if(!empty($infotype)) $cArr['infotype'] = $infotype; 在下面添加(編輯:漢網IT)
    if(!empty($自定義聯動類別字段名)) $cArr['自定義聯動類別字段名'] = $自定義聯動類別字段名;

    3. include\arc.sglistview.class.php 文件

    這個文件其實是查找搜索結果的頁面。因為我們添加的是檢索信息的變量,最終要把結果加到這兒來。
    搜索 if(!empty($this->searchArr['keyword'])),在上面添加

    //自定義聯動類別

    if(!empty($this->searchArr['自定義聯動類別字段名']))
    {
    if($this->searchArr['自定義聯動類別字段名'] % 500 ==0 )
    {
    $naddQuery .= " And arc.自定義聯動類別字段名 >= '{$this->searchArr['自定義聯動類別字段名']}' And arc.自定義聯動類別字段名 < '".($this->searchArr['自定義聯動類別字段名']+500)."'";
    }
    else
    {
    $naddQuery .= "And arc.自定義聯動類別字段名 = '{$this->searchArr['自定義聯動類別字段名']}'";
    }
    }

    4. include\taglib\infoguide.lib.php

    找 到$fields['infotype'] .= '<script language="javascript">MakeTopSelect("infotype", '.$infotype.');</script>'."\r\n";,在其下面添加:

    $fields['自定義聯動類別字段名'] .= "<input type='hidden' id='hidden_自定義聯動類別字段名' name='自定義聯動類別字段名' value='{$自定義聯動類別字段名}' />\r\n";
    $fields['自定義聯動類別字段名'] .= "<span class='infosearchtxt'>類型:</span><span id='span_自定義聯動類別字段名'></span>\r\n";
    $fields['自定義聯動類別字段名'] .= "<span id='span_自定義聯動類別字段名_son'></span><br />\r\n";
    $fields['自定義聯動類別字段名'] .= "<script language='javascript' type='text/javascript' src='{$cfg_mainsite}{$cmspath}data/enums/自定義聯動類別字段名.js'></script& amp; gt;\r\n";
    $fields['自定義聯動類別字段名'] .= '<script language="javascript">MakeTopSelect("自定義聯動類別字段名", '.$自定義聯動類別字段名.');</script>'."\r\n";
    第三步就是要把相應變量放到要調用的頁面,這個應該也不難,如果我們不知道怎么做,可以參考dede模板中的默認頁面怎么調用的,根據這個調用我們自己定義的。具體網站還要具體分析。才能準確檢索出信息。

    欄目列表
    推薦內容
    熱點內容
    展開
    动漫h精品无码一区二区三区,欧美日韩精品一区二区,午夜麻豆国产精品,加勒比中文字幕无码,亚洲日本va中文字幕区