您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程
织梦cms在搜索模板中怎么调用附加表字段
南春2023-12-17DedeCMS教程已有人查阅
导读今天应朋友的要求,给他的网站做一个商品价格排序搜索。我原来以为很简单,直接用[field:price/]来调用就行了,于是爽快地答应了。谁知一操作起来才发现
今天应朋友的要求,给他的网站做一个商品价格排序搜索。我原来以为很简单,直接用[field:price/]来调用就行了,于是爽快地答应了。谁知一操作起来才发现,根本没法使用[field:price/]来调用dede_addonshop里面的price字段,因为系统默认不能在搜索模板中调用附加表字段。
结果搞了一个下午才发现解决方法:
修改include/arc.searchview.class.php
第一处:将大约320行地方的代码:
结果搞了一个下午才发现解决方法:
修改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 `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->ChannelType < 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数据库表和字段说明归总
相关教程
图文教程
织梦dede:arclist标签实现按自定义字段排序orderby的方法
那怎样才能按照自定义的字段排序呢?假如我现在在dede_archives表里面添加了一个字段NewField, 我想按照这个字段排序。直接这样写:
dedecms后台模块列表为空怎么办
在给公司的网站添加WAP功能的时候,登陆DEDECMS后台模块部分看到列表中一个模块都没有,感觉有点奇怪。
织梦仿站的arclist标签实现动态获取关键词的实例代码
dede仿站的arclist标签 {dede:arclist keyword='动态获取关键词'}的使用方法:在arclist.lib.php 第14
dede列表页和首页调用下载地址的方法
dede_channeltype 表中的listfields 字段增加,softlinks内容;
相关源码
-
(自适应)游泳馆泳池水处理器设备pbootcms网站模板免费下载专注服务于泳池水处理设备制造商、泳池系统工程商等企业用户。模板预设设备分类体系、技术参数展示模块和解决方案呈现页面,满足行业特有展示需求。查看源码 -
(自适应响应式)蓝色外贸英文产品介绍展示网站模板本模板采用手工编写的DIV+CSS架构,代码精简高效。适配手机端浏览,数据实时同步更新。内置SEO优化框架,支持独立设置各页面标题、关键词及描述。开源代码结构清晰,便于二次开发。查看源码 -
工商注册财务代理记账类自适应pbootcms网站工商注册、财务代理记账企业打造的数字化门户模板,基于PbootCMS内核深度开发。采用前沿响应式架构,无缝适配手机端触控交互与PC端展示需求查看源码 -
(自适应响应式)电子数码科技产品介绍带留言网站模板下载为电子产品企业设计的展示系统,集成智能产品对比器、参数规格表和展示模块。支持消费电子、智能设备等多级分类展示,内置产品技术参数数据库。查看源码 -
(PC+WAP)货运物流快递仓储货架pbootcms网站模板下载本模板基于PbootCMS开发,为货运物流、快递配送、仓储货架等行业设计,支持PC+WAP自适应,确保在电脑、手机、平板等设备上均能流畅访问。适用于物流公司、仓储企业查看源码 -
(自适应响应式)双语LED照明灯饰灯具外贸网站pbootcms源码下载模板采用响应式设计,能自动适应手机、平板和电脑等多种设备屏幕,确保用户在不同设备上都能获得良好的浏览体验。同一后台管理,数据实时同步,操作简便高效。查看源码
| 分享笔记 (共有 篇笔记) |
