今天看了看模組設定裡的自訂欄位功能的用法,試著加了個新欄位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名是管理員
到此自訂欄位的搜尋添加完畢。 |
這樣在搜尋介面就會多了一個“管理員”的選項來搜尋,如:
這樣就完成了。