最新活动:电脑PC端+手机端+微网站+自适应网页多模板选择-建站388元起价!!!
当前位置:主页 > 网站建设 > 织梦CMS在搜索模板中调用附加表字段,织梦技术

织梦CMS在搜索模板中调用附加表字段,织梦技术

时间:2023-07-21 09:07:21 阅读: 文章分类: 网站建设 作者: dede开发者

导读:织梦技术织梦技术今天应朋友的要求,给他的网站做一个商品价格排序搜索。我原来以为很简单,直接用[field:price/]来调用就行了,于是爽快地答应了。一操作起来才发现,根本没dede58模板织梦的模板。

dede58模板织梦的模板

今天应朋友的要求,给他的网站做一个商品价格排序搜索。我原来以为很简单,直接用[field:price/]来调用就行了,于是爽快地答应了织梦模板安装。谁知一操作起来才发现,根本没法使用[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-&dede网站模板gt;ChannelType; $row =$this->dsql->GetOne("Select addtable From `dede_ytljzchanneltype` Where id=$id"); $addtable = trim($row['addtable']); $this->AddTable=$addtable; }else{ $this->AddTable="dede_ytljzarchives"; }

改为:

if($this->ChannelType=="0") $id=$this->ChannelTypeid; else $id=$this->ChannelType; $row =$this->dsql->GetOne("Select addtable From `dede_ytljzchanneltype` Where id=$id"); $addtable = trim($row['addtable']); if($this->Chandede58模板nelType < 0 || $this->ChannelTypeid< 0){ $this->AddTable=$addtable; $this->AddonTable=''; }else{ $this->AddTable="dede_ytljzarchives"; $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 `dede_ytljzarctype` 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 `dede_ytljzarctype` act on arc.typeid=act.id {$this->AddonTable} where {$this->AddSql} $ordersql limit $limitstart,$row";

好了,可以在search.htm中使用[field:price/]了,只要你的模型有附加表,你就可以使用表里的任何字段 另外注意:如果附加表里有字段名和主表字段名一样的,使用[field:xxxx/]的结果是未定义的。

关键词标签: CMS 模板 表字

声明: 本文由我的SEOUC技术文章主页发布于:2023-07-21 ,文章织梦CMS在搜索模板中调用附加表字段,织梦技术主要讲述表字,模板,CMS网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_32743.html

我的IDC 网站建设技术SEOUC.COM
专注网站建设,SEO优化,小程序设计制作搭建开发定制网站等,数千家网站定制开发案例,网站推广技术服务。
  • 5000+合作客服
  • 8年从业经验
  • 150+覆盖行业
  • 最新热门源码技术文章