校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 網(wǎng)站建設(shè) > 建站知識 > 織夢CMS在搜索模板中調(diào)用附加表字段

織夢CMS在搜索模板中調(diào)用附加表字段

POST TIME:2020-03-28 18:55

今天應(yīng)朋友的要求,給他的網(wǎng)站做一個(gè)商品價(jià)格排序搜索。我原來以為很簡單,直接用[field:price/]來調(diào)用就行了,于是爽快地答應(yīng)了。誰知一操作起來才發(fā)現(xiàn),根本沒法使用[field:price/]來調(diào)用dede_addonshop里面的price字段,因?yàn)橄到y(tǒng)默認(rèn)不能在搜索模板中調(diào)用附加表字段。

結(jié)果搞了一個(gè)下午才發(fā)現(xiàn)解決方法:

修改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/]的結(jié)果是未定義的。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 宣威市| 化德县| 丰县| 玉山县| 阜新市| 宽城| 柞水县| 中卫市| 乌拉特中旗| 巧家县| 榆中县| 察哈| 喜德县| 五华县| 南通市| 洛浦县| 绥江县| 临西县| 堆龙德庆县| 栖霞市| 新化县| 前郭尔| 徐水县| 东城区| 崇文区| 游戏| 大庆市| 庆元县| 大安市| 翼城县| 永靖县| 普兰店市| 平山县| 子洲县| 公主岭市| 息烽县| 太原市| 桦川县| 大宁县| 灵璧县| 祁东县|