鼎立不倒 發表於 2023-7-21 00:00:00

详解织梦模板DEDECMS搜索结果调用自定义字段的方法

<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        在搜索页调用自定义字段,使其可有让用户搜索这个自定义字段,找了好多文章和教程,却发现dedecms的标签底层模板字段不包括这个字段呢?这就大大限制了灵活性,但也不可能让所有字段都允许调用的,那样就会大大降低系统效率,所以今天分享的是一个比较完美解决这个问题的方法,配合dede标签,几乎可以说没有什么不能调用的了</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        首先把上面代码放到 include/extend.func.php 里</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        使用方法:</p>
<div class="jb51code" style='margin: 0px; padding: 0px; outline: none; line-height: 25.2px; font-size: 14px; width: 660px; overflow: hidden; clear: both; font-family: tahoma, arial, "Microsoft YaHei";'>
        <pre class="brush:php;toolbar:false;">
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 -&gt; Execute("me","SHOW COLUMNS FROM `$table`");
while ($r = $dsql-&gt;GetArray())
{
if($r['Key'] == 'PRI') $primarys[] = $r['Field'];
}
if(!emptyempty($primarys))
{
$primary = $primarys;
$result = $dsql -&gt; GetOne("SELECT `$field` FROM `$table` WHERE `$primary`= $id");
}
return isset($result[$field])?$result[$field]:'';
}
</pre>
</div>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
頁: [1]
查看完整版本: 详解织梦模板DEDECMS搜索结果调用自定义字段的方法