本文目錄一覽:
- 1、怎麼讓dedecms搜索頁面支持標籤調用及自定義欄位調用
- 2、如何在DEDE首頁中添加搜索框
- 3、dedecms 搜索的search.php和advancedsearch.php分別提交到這兩個文
- 4、dede search.php 搜索頁面如何調用自定義欄位
- 5、織夢search.php接收什麼參數
怎麼讓dedecms搜索頁面支持標籤調用及自定義欄位調用
您好,朋友。跟版網團隊很高興為您解答:
這裡講述dedecms模板搜索頁search.php支持arclist和channelartlist標籤調用的方法,步驟如下(如需調用其他標籤可自行擴展):
打開include/arc.searchview.class.php.
查找:
代碼如下:
require_once(DEDEINC.”/taglib/hotwords.lib.php”);
require_once(DEDEINC.”/taglib/channel.lib.php”);
下面插入
代碼如下:
require_once(DEDEINC.”/taglib/arclist.lib.php”);
require_once(DEDEINC.”/taglib/channelartlist.lib.php”);
查找
代碼如下:
else if($tagname==”hotwords”)
{
$this-dtp-Assign($tagid,lib_hotwords($ctag,$this));
}
下面插入
代碼如下:
else if($tagname==”arclist”)
{
$this-dtp-Assign($tagid,lib_arclist($ctag,$this));
}
else if($tagname==”channelartlist”)
{
$this-dtp-Assign($tagid,lib_channelartlist($ctag,$this));
}
如何還需要實現定義欄位調用的話那麼就繼續:修改include/arc.searchview.class.php
找到
$query = “Select
整行修改為:
$query = “Select addon.*,arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath
from `{$this-AddTable}` arc left join `dede_arctype` act on arc.typeid=act.id left join `dede_addonarticle` addon on addon.aid=arc.id where {$this-AddSql} $ordersql limit $limitstart,$row”;
這樣織夢模板搜索頁search.php就支持arclist和channelartlist標籤的調用了。
希望本文所述對大家的dedecms建站有所幫助。
如何在DEDE首頁中添加搜索框
先打開官方默認的模板代碼,把搜索代碼複製過去,然後再慢慢修改CS,匹配到覺得合理的情況就完成了,具體操作如下:
第一步:找到對應的搜索模板的代碼
我們都知道,dede有自帶的搜索功能,我們只要找到對應的模板,然後把我們想要的代碼拿出來就行了。具體如下:
首先進入templets–default–search.htm打開文件,大約在19行,找到代碼。如下圖:
第二步:修改代碼
把官方的代碼整理成自己想要的代碼:比如
div class=”search_box”
form name=”formsearch” action=”/plus/search.php” method=”post”
input name=”q” type=”text” id=”search-keyword” value=”在這裡搜索…”
onfocus=”if(this.value==’在這裡搜索…’){this.value=”;}” onblur=”if(this.value==”){this.value=’在這裡搜索…’;}” /
select name=”searchtype” id=”search-option”
option value=”title” selected=’1’檢索標題/option
option value=”titlekeyword”智能模糊/option
/select
input value=”搜 索” type=”submit” /
/form
/div
代碼修改完成,把它放入我們的搜索模塊裡面。
第三步:新建一個search.htm模板
新建一個search.htm模板,並把它放入我們的自定義模板文件夾里,(用於展示搜索結果)然後就是代碼的調用了。在你想要顯示搜索結果的地方,加入調用標籤即可。
列表調用標籤為:
{dede:list perpage=’4′}{/dede:list}
底層調用欄位和首頁、列表頁調用欄位一樣。
dedecms 搜索的search.php和advancedsearch.php分別提交到這兩個文
您好,朋友,您的模板文件中必須有search.htm和advancedsearch.htm這兩個模板文件才可以。如下圖所示,希望我的回答能夠幫到您。不會修改請參考織夢官方的模板文件。
dede search.php 搜索頁面如何調用自定義欄位
一:打開你的資料庫,找到dede_full_search這個表,在裡面把你自定義的欄位添加進表,這裡以我的網站為例,我添加了myskill,myexchange,mygoods,myexgoods,這4個欄位
二:打開/member/article_add_action.php,找到”//更新全站搜索索引”,在下面的一段代碼中插入剛才添加的4個欄位,例:「’myskill’=$myskill,’myexchange’=$myexchange,’mygoods’=$mygoods,’myexgoods’=$myexgoods」,這裡說明一下,前面的’myskill’為你發布文章時添加的自定義欄位,後面的為剛才在表dede_full_search中添加的欄位(建議在表中添加欄位的時候寫成跟你之前字定義的欄位一樣)這裡最好寫成一樣,可以省去很多麻煩
三:打開/include/inc_arcsearch_view.php,搜索titlekeyword,找到如下代碼
Copy code
if($this-SearchType != “titlekeyword”){
$kwsqlarr[] = ” #@__full_search.title like ‘%$k%’ “;
}else{
$kwsqlarr[] = ” #@__full_search.title like ‘%$k%’ “;
$kwsqlarr[] = ” #@__full_search.addinfos like ‘%$k%’ “;
$kwsqlarr[] = ” #@__full_search.keywords like ‘%$k%’ “;
}
分析下代碼SearchType != “titlekeyword,搜索類型為titilekeyword,即前台搜索下拉框中的智能模糊搜索,$kwsqlarr[] = ” #@__full_search.title like ‘%$k%’ “;為搜索full_search表中的title欄位,好了,知道了這段代碼的作用,我們就知道該如何添加自己的搜索了下面把我的代碼作為例子
Copy code
if($this-SearchType != “skill”){
$kwsqlarr[] = ” #@__full_search.myskill like ‘%$k%’ “;
$kwsqlarr[] = ” #@__full_search.myexchange like ‘%$k%’ “;
}else{
$kwsqlarr[] = ” #@__full_search.myexchange like ‘%$k%’ “;
$kwsqlarr[] = ” #@__full_search.myskill like ‘%$k%’ “;
}
if($this-SearchType != “goods”){
$kwsqlarr[] = ” #@__full_search.mygoods like ‘%$k%’ “;
$kwsqlarr[] = ” #@__full_search.myexchange like ‘%$k%’ “;
}else{
$kwsqlarr[] = ” #@__full_search.myexchange like ‘%$k%’ “;
$kwsqlarr[] = ” #@__full_search.mygoods like ‘%$k%’ “;
}
,因為我的myskill和myexchange2個欄位是一起的,而mygoods和myexgoods是一起的,所以我用了2個if else語句
四:修改搜索框代碼,代碼在哪我就不說了吧,大家都知道在哪,搜索框原代碼為
Copy code
select name=”searchtype” id=”searchtype”
option value=”titlekeyword” selected智能模糊搜索/option
option value=”title”僅搜索標題/option
/select
這裡只需修改上面的代碼,修改後的代碼為
Copy code
select name=”searchtype” id=”searchtype”
option value=”skill” selected搜技能/option
option value=”goods”搜物品/option
/select
value=””,這填的是第三步中添加的SearchType後面的,即搜索類型,這個你自己定義
五:還是打開/include/inc_arcsearch_view.php,找到//處理一些特殊欄位,把你之前的自定義的欄位添加進去,這裡還是以我的為例子
在先面添加
Copy code
$row[“myskill”] = $this-GetRedKeyWord(cn_substr($row[“myskill”],$infolen));
$row[“myexchange”] = $this-GetRedKeyWord(cn_substr($row[“myexchange”],$infolen));
$row[“mygoods”] = $this-GetRedKeyWord(cn_substr($row[“mygoods”],$infolen));
$row[“myexgoods”] = $this-GetRedKeyWord(cn_substr($row[“myexgoods”],$infolen));
其實只要添加 $row[“myskill”] = $row[“myskill”];(另外3個我就不寫了,類似)就夠了,但是我為什麼要這樣寫呢,這樣寫的作用就是讓你在搜索結果頁調用的時候顯示關鍵子為紅色
六:最後一步了,打開templets/default/search.htm,這裡就是搜索頁調用的模版,這裡要調用只要[field:你自定義的欄位/],還是以我的網站為例[field:myskill/],這樣調用就OK,但是要注意一點,假如你2個欄位放一起調用中間最好加個空格或者其他符號,假如[field:myskill/][field:mygoods/]這樣連在一起是顯示不出來的
織夢search.php接收什麼參數
織夢雲模板為您解答:
search.php接收兩個參數:
input type=”hidden” name=”kwtype” value=”0″ /
input name=”q” type=”text” /
一個是隱藏的name為kwtype的參數,另外就是name=q的關鍵詞參數。
希望我的回答能夠幫到您。下面織夢支持arclist和chanelartlist也許能夠有用!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151941.html