在dedecms搜索模板中调用自定义字段名的方法

让人生与事业结伴,让生命与使命同行。你要按你所想的去生活,否则,你迟早会按你所生活的去想。

      在dedecms搜索模板中调用自定义字段名,默认dedecms搜索页面是没法使用[field:price/]来调用dede_addonshop里面的price字段的,

下面给大家分享下解决方法:

修改include/arc.searchview.class.php
第一处:
将大约320行地方的代码:
if($this->ChannelType < 0 || $this->ChannelTypeid< 0){
if($this->ChannelType=="0") $id=$this->ChannelTypeid;
else $id=$this->ChannelType;
$row =$this->dsql->GetOne("Select addtable From `cn_channeltype` Where id=$id");
$addtable = trim($row['addtable']);
$this->AddTable=$addtable;
}else{
$this->AddTable="cn_archives";
}
改为:
if($this->ChannelType=="0") $id=$this->ChannelTypeid;
else $id=$this->ChannelType;
$row =$this->dsql->GetOne("Select addtable From `cn_channeltype` Where id=$id");
$addtable = trim($row['addtable']);
if($this->ChannelType < 0 || $this->ChannelTypeid< 0){
$this->AddTable=$addtable;
$this->AddonTable='';
}else{
$this->AddTable="cn_archives";
$this->AddonTable=$addtable;
}
第二处:
将大约500行的地方的代码:
$query = "Select arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,
act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath
from `{$this->AddTable}` arc left join `cn_arctype` act on arc.typeid=act.id
where {$this->AddSql} $ordersql limit $limitstart,$row";
改为:
if (!empty($this->AddonTable)) {
$this->AddonTable="left join `{$this->AddonTable}` addon on addon.typeid=arc.typeid";
}else {
$this->AddonTable='';
}
$query = "Select arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,
act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath,addon.*
from `{$this->AddTable}` arc left join `cn_arctype` act on arc.typeid=act.id {$this->AddonTable}
where {$this->AddSql} $ordersql limit $limitstart,$row";
好了,可以在search.htm中使用[field:price/]了,只要你的模型有附加表,你就可以使用表里的任何字段
另外注意:如果附加表里有字段名和主表字段名一样的,使用[field:xxxx/]的结果是未定义的

<script type="text/javascript"> document.body.oncopy = function (){ setTimeout(function (){ var text = clipboardData.getData("text"); if (text){ texttext = text + "rn本文转载于DeDeCms模板中心(genban.org)- 织梦模板 DEDECMS企业模板 DEDECMS仿站 dede模板下载:http://www.genban.org-原文链接:"+location.href; clipboardData.setData("text", text); } },100) } </script>



 

本文在dedecms搜索模板中调用自定义字段名的方法到此结束。生活在阴沟里,也要记得仰望星空。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
织梦后台文档列表添加复制文档功能支持所有模型

织梦无法上传ico图标格式文件的如何解决方法

dedecms如何实现任意页面调用当前会员信息的方

织梦dede:tag调用指定多个栏目的TAG标签

织梦栏目列表按附加表自定义字段排序