destoon自訂自段的添加並讓其支援搜尋

來源:互聯網
上載者:User

今天看了看模組設定裡的自訂欄位功能的用法,試著加了個新欄位glry,設定了值,然後去資料庫moduleid的article表看,欄位成功加上了。

於是去template下article檔案夾的list.htm和show.htm裡調看看能不能調得到,結果無論是用{$t[glry]}還是{$glry}這樣都調不出來,就奇怪了,模組的fileds都以

字串的方式儲存在$MOD[fields]裡,試著列印出來一看,竟然沒有新加的glry欄位在裡面,難怪取不到了。網上查了下,原來新加了自訂欄位還要自己手動到“模組設定-》基本設定”裡把自訂的欄位加到“列表或搜尋主欄位”這一項裡,加好後,都可以成功調到了。

自訂欄位是預設不支援搜尋的,但很多情況下需要它支援搜尋,網上搜到一個方法可以使它支援搜尋,方法如下:

以sell模組為例,假設你在後台模組設定裡添加了一個"glry"欄位

module/sell/search.inc.php 

其他模組一樣 

1、搜尋:$L['by_brand']  大約在31行   後面添加你欄位的名稱,可以直接為漢字 例如:

$sfields = array($L['by_auto'], $L['by_title'], $L['by_content'], $L['by_introduce'], $L['by_company'], $L['by_brand'],'管理員');

2、在他下面那行 

$dfields = array('keyword', 'title', 'content', 'introduce', 'company', 'brand');

修改為 

$dfields = array('keyword', 'title', 'content', 'introduce', 'company', 'brand', 'glry'); 其中的鋼材為自訂的欄位名稱

3、搜尋:if($kw) $r['introduce'] = str_replace($replacef, $replacet, $r['introduce']);大約在129行左右

在他的下面添加:
if($kw) $r['glry'] = str_replace($replacef, $replacet, $r['glry']);

我的自訂欄位是glry名是管理員

到此自訂欄位的搜尋添加完畢。

這樣在搜尋介面就會多了一個“管理員”的選項來搜尋,如:

這樣就完成了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.