在搜索页调用自定义字段,使其可有让用户搜索这个自定义字段,找了好多文章和教程,却发现DedeCMS的标签底层模板字段不包括这个字段呢?这就大大限制了灵活性,但也不可能让所有字段都允许调用的,那样就会大大降低系统效率,所以分享的是一个比较完美解决这个问题的方法,配合dede标签,几乎可以说没有什么不能调用的了
首先把上面代码放到 include/extend.func.php 里
使用方法:
function table($table, $field, $id) { global $dsql; $primarys = array(); $table = strpos($table, #@_) === false?(strpos($table, dede_) === false?cn_.$table:str_replace(dede_,cn_,$table)):$table; $dsql -> Execute("me","SHOW COLUMNS FROM `$table`"); while ($r = $dsql->GetArray()) { if($r[Key] == PRI) $primarys[] = $r[Field]; } if(!emptyempty($primarys)) { $primary = $primarys[0]; $result = $dsql -> GetOne("SELECT `$field` FROM `$table` WHERE `$primary`= $id"); } return isset($result[$field])?$result[$field]:\; }