织梦dedecms — advancedsearch精确查询,根据自定义字段查询,查询结果页面无法调用自定义字段,头部,尾部,解决办法
2015-07-10 14:21
811 查看
(一)根据自定义字段,精确查询
后台 - 核心 - 内容模型管理
根据你添加字段的频道,点击右边红色框内按钮,进入
此地以 自定义字段 测试1 测试2 为例,然后粘贴到你需要搜索的模板中,样式自行调整
搜索后发现,系统I自带的页面非常丑,想用自己的模板怎么办?
找到plus/advancedsearch.php
找到末尾如下代码
if(file_exists(DEDEROOT."/templets/default/$template"))
{
$templatefile = DEDEROOT."/templets/default/$template";
}
else
{
$templatefile = DEDEROOT."/templets/default/advancedsearch.htm";
}
红色标注为系统默认模板路径,根据自己模板修改即可(备注:advancedsearch.htm 需要拷贝到自己模板下)
这就完成了,自定义字段精确查询
(二)头部,尾部标签无法识别! 无法设别channel 或者 channelartlist
解决方法如下
在advancedsearch.htm 头部标签 换成<?php pasterTempletDiy("default/head.htm");?>
尾部标签 换成 <?php pasterTempletDiy("default/footer.htm");?>
/include/extend.func.php最后边增加
这样就搞定了
(三)在advancedsearch.htm 无法时调用自定义字段!解决方法如下
/plus/advancedsearch.php
找到如下代码:
if($mid < -1)
{
$where = str_replace('main.', 'addon.', $where);
$orderby = str_replace('main.', 'addon.', $orderby);
$query = "SELECT addon.*, arctype.* FROM $addontable addon
LEFT JOIN #@__arctype arctype ON arctype.id = addon.typeid
$where $orderby";
} else {
$query = "SELECT main.id AS aid,main.*,main.description AS description1, type.*
FROM $maintable main
LEFT JOIN #@__arctype type ON type.id = main.typeid
LEFT JOIN $addontable addon ON addon.aid = main.id
$where $orderby";
}
红色部分改成 SELECT addon.*,
在模板中调用{dede:field.自定义字段/}即可
后台 - 核心 - 内容模型管理
根据你添加字段的频道,点击右边红色框内按钮,进入
此地以 自定义字段 测试1 测试2 为例,然后粘贴到你需要搜索的模板中,样式自行调整
搜索后发现,系统I自带的页面非常丑,想用自己的模板怎么办?
找到plus/advancedsearch.php
找到末尾如下代码
if(file_exists(DEDEROOT."/templets/default/$template"))
{
$templatefile = DEDEROOT."/templets/default/$template";
}
else
{
$templatefile = DEDEROOT."/templets/default/advancedsearch.htm";
}
红色标注为系统默认模板路径,根据自己模板修改即可(备注:advancedsearch.htm 需要拷贝到自己模板下)
这就完成了,自定义字段精确查询
(二)头部,尾部标签无法识别! 无法设别channel 或者 channelartlist
解决方法如下
在advancedsearch.htm 头部标签 换成<?php pasterTempletDiy("default/head.htm");?>
尾部标签 换成 <?php pasterTempletDiy("default/footer.htm");?>
/include/extend.func.php最后边增加
function pasterTempletDiy($path) { require_once(DEDEINC."/arc.partview.class.php"); global $cfg_basedir,$cfg_templets_dir; $tmpfile = $cfg_basedir.$cfg_templets_dir."/".$path;//模版文件的路径 $dtp = new PartView(); $dtp->SetTemplet($tmpfile); $dtp->Display(); }
这样就搞定了
(三)在advancedsearch.htm 无法时调用自定义字段!解决方法如下
/plus/advancedsearch.php
找到如下代码:
if($mid < -1)
{
$where = str_replace('main.', 'addon.', $where);
$orderby = str_replace('main.', 'addon.', $orderby);
$query = "SELECT addon.*, arctype.* FROM $addontable addon
LEFT JOIN #@__arctype arctype ON arctype.id = addon.typeid
$where $orderby";
} else {
$query = "SELECT main.id AS aid,main.*,main.description AS description1, type.*
FROM $maintable main
LEFT JOIN #@__arctype type ON type.id = main.typeid
LEFT JOIN $addontable addon ON addon.aid = main.id
$where $orderby";
}
红色部分改成 SELECT addon.*,
在模板中调用{dede:field.自定义字段/}即可
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 搜狗百度360市值齐跌:搜索引擎们陷入集体焦虑?
- 本人即将筹备败家日志,敬请期待!
- 【DevOps】为什么我们永远疲于奔命?
- 通晓网络测试常用命令
- IE:使用搜索助手
- 网络管理之IP地址篇
- 文件的读出 编辑 管理
- Dedecms getip()的漏洞利用代码
- dedecms采集过滤常用代码集合
- DEDECMS插入表时的出错
- SQL Server 2008 R2 应用及多服务器管理
- C++深度优先搜索的实现方法
- VC下通过系统快照实现进程管理的方法
- Nodejs学习笔记之测试驱动
- 基于文本的搜索
- php实现搜索一维数组元素并删除二维数组对应元素的方法
- 使用Sphinx对索引进行搜索
- Dedecms V3.1 生成HTML速度的优化办法
- dedecms v5.1 WriteBookText() code injection vul注入漏洞