首页 > CMS技巧 > DEDEEIMS > 内容

dedecms搜索模板中调用(自定义)附加表字段

在默认的情况下dedecms里的搜索模板中是不能调用附加表字段,与自定义字段的,主要目的当然是为了索引的速度了,如果附加表的字段都调用,显然是很影响查询速度的

在默认的情况下,dedecms里的搜索模板中是不能调用附加表字段,与自定义字段的,主要目的当然是为了索引的速度了,如果附加表的字段都调用,显然是很影响查询速度的。

修改文件:

include/arc.searchview.class.php

大约500行处找到代码如下:

//搜索
$query = "Select arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,act.namerule2,act.ispart  from `wmsk_archives` arc left join `wmsk_arctype` act on arc.typeid=act.id where act.lang='{$this->Lang}' And {$this->AddSql} $ordersql limit $limitstart,$row";

分析这句sql只是查找到主表跟栏目表,没有查询附加栏目表,所有我们把附加表加进去即可,现以查询产品附加表dede__addonproduct为例,我们把所有的字段都查询出来(当然数据量大的话会影响速度)修改后得到

$query = "Select * from `wmsk_archives` arc left join `wmsk_addonproduct` p on p.aid=arc.id left join `wmsk_arctype` act on arc.typeid=act.id where act.lang='{$this->Lang}' And {$this->AddSql} $ordersql limit $limitstart,$row";

好了,模板中调用(自定义或)附加表字段,是不是ok了!

如果你想调用文章附加表,只要把`wmsk_addonproduct`换成`wmsk_addonarticle`就可以了....

备注:本方法是在dede5.3内核中改的,我想在>dede5.3的版本中应该也是可以用的,原理应该是一样的!

上一篇:dedeeims(织梦企业版)优化栏目生成路径
下一篇:最后一页

分享到:
      加入收藏