在二次目录model->cmd.products.php文件中。找到wFilter方法,在sql语句的地方添加搜索条件的字段名,
function wFilter($words){
$replace = array(",","+");
$enStr=preg_replace("/[^chr(128)-chr(256)]+/is"," ",$words);
$otherStr=preg_replace("/[chr(128)-chr(256)]+/is"," ",$words);
$words=$enStr.' '.$otherStr;
$return=str_replace($replace,' ',$words);
$word=preg_split('/\s+/s',trim($return));
$GLOBALS['search_array']=$word;
$oGoods = &$this->system->loadModel('trading/goods');
foreach($word as $k=>$v){
if($v){
$goodsId = array();
foreach($oGoods->getGoodsIdByKeyword(array($v)) as $idv)
$goodsId[] = $idv['goods_id'];
foreach( $this->db->select('SELECT goods_id FROM sdb_products WHERE bn = \''.trim($v).'\' ') as $pidv)
$goodsId[] = $pidv['goods_id'];
$sql[]='(name LIKE \'%'.$word[$k].'%\' or suppliers_first_type LIKE \'%'.$word[$k].'%\' or bn like \''.$word[$k].'%\' '.( $goodsId?' or goods_id IN ('.implode(',',$goodsId).') ':'' ).')';
}
}
return implode('and',$sql);
}
例子代码里有名字,和编号的搜索条件,商品型号suppliers_first_type是后来添加的。