当前位置:首页 > 电脑知识 > 正文内容

这都可以?(织梦DEDECMS)dedecms是什么,织梦dedecms基于advancedsearch高级查询实现自定义字段查询、显示问题,织梦dedecms基于advancedsearch高级查询实现自定义字段查询、显示问题,

sauo3年前 (2022-12-15)电脑知识164

如何根据自定义字段进行搜索,同时还要在advancedsearch显示自定义字段,dedecms织梦实际上是支持自定义字段的查询的,但是不支持在高级搜索advancedsearch显示自定义字段,要进行小小的改造。

一、在模型管理里面勾选要进行高级查询的字段:

后台->核心->内容模型管理

根据你添加字段的频道,点击放大镜,进入高级搜索(精确搜索)界面:

这里自定义字段以“测试1”、“测试2”为例,然后粘贴到你需要搜索的模板中,样式自行调整。

二、修改搜索模板

和普通搜索的search.htm一样,advancedsearch高级搜索也是有模板的,默认很丑,下面是修改方法:

找到?plus/advancedsearch.php

找到末尾如下代码

if(file_exists(DEDEROOT."/templets/default/$template")){ $templatefile = DEDEROOT."/templets/default/$template";}else{ $templatefile = DEDEROOT."/templets/default/advancedsearch.htm";}

“default”为系统默认模板路径,根据自己模板修改即可(备注:advancedsearch.htm 需要拷贝到自己模板下)

这就完成了。

三、让自定义搜索支持头部、尾部、channel、channelartlist:

在advancedsearch.htm 头部标签 换成:

<?phppasterTempletDiy("default/head.htm");?>

尾部标签换成:

<?phppasterTempletDiy("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 =newPartView(); $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 dede_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 dede_arctype type ON type.id = main.typeid LEFT JOIN $addontable addon ON addon.aid = main.id $where $orderby";}

将以下代码:

$query ="SELECT main.id AS aid,main.*,main.description AS description1, type.*

修改为:

$query ="SELECT addon.*,main.id AS aid,main.*,main.description AS description1, type.*

然后,在模板advancedsearch.htm中使用:

{dede:field.自定义字段/}

最后调用即可。

(window.slotbydup = window.slotbydup || []).push({ id: "u6835052", container: "_96bek913mdb", async: true });

本文链接:http://blog.sauo.top/?id=490 感谢分享!

分享到:

扫描二维码推送至手机访问。

版权声明:本文由冬眠先生个人博客发布,如需转载请注明出处。

本文链接:http://blog.sauo.top/?id=490

分享给朋友:

“这都可以?(织梦DEDECMS)dedecms是什么,织梦dedecms基于advancedsearch高级查询实现自定义字段查询、显示问题,织梦dedecms基于advancedsearch高级查询实现自定义字段查询、显示问题,” 的相关文章

一看就会(imagefilter过滤图像方法)php imagefill,php imagefilter()图片滤镜函数的用法与示例,php imagefilter()图片滤镜函数的用法与示例,

一看就会(imagefilter过滤图像方法)php imagefill,php imagefilter()图片滤镜函数的用法与示例,php imagefilter()图片滤镜函数的用法与示例,

免费领取腾讯云服务器! 有个小需求,需要使用php代码对图片进行颜色调整,比如变成灰色,改变图片的亮度,对比度等等。而php中就内置了一个图片的滤镜函数 imagefilter() ,下面就来具体说说这个函数的用法。 php imagefi...

这都可以?(常用正则表达式大全)常用正则表达式大全图片,常用正则表达式大全,常用正则表达式大全,

免费领取腾讯云服务器! 网上收集了一些常用的正则表达式,基本上都全,需要的可以拿去了。 关于号码的正则表达式 QQ号正则表达式 BASIC /^[1-9][0-9]{...

难以置信(php错误日志在哪里)PHP 日志,php设置错误日志的方法,php设置错误日志的方法,

难以置信(php错误日志在哪里)PHP 日志,php设置错误日志的方法,php设置错误日志的方法,

免费领取腾讯云服务器! php设置错误日志需要在php配置文件php.ini中设置,只需要简单的几步设置就可以实现,下面就来详细的说一下。 php设置错误日志的方法 1、打开php的配置文件,php.ini...

不要告诉别人(php求数组交集)php数组取差集,php计算两个数组的交集与差集,php计算两个数组的交集与差集,

免费领取腾讯云服务器! php中计算两个数组之间的交集与差集可以使用 array_intersect() 与 array_diff() 数组处理函数,这两个数组的具体使用方法如下。 php计算两个数组之间的交集 array_...

这都可以?(jquery去掉前后空格)jquery去掉字符串前后空格,jQuery去掉 serialize() 方法中指定的name值,jQuery去掉 serialize() 方法中指定的name值,

免费领取腾讯云服务器! 在修改一个前台表单提交逻辑时,为了不动以前的代码(代码和屎一样),就想着在提交数据时过滤掉form表单中指定的name属性和值,由于表单直接使用jquery中的serialize()方法来获取的form表单的数据,所以就要对 ser...

速看(mac txt文件怎样新建)mac新建一个txt文件,Mac 新建TXT文件的方法,Mac 新建TXT文件的方法,

速看(mac txt文件怎样新建)mac新建一个txt文件,Mac 新建TXT文件的方法,Mac 新建TXT文件的方法,

免费领取腾讯云服务器! 有个刚用mac电脑的同事来问了一个很基础的问题,如何在mac电脑上创建txt纯文本文件,就告诉他了一种不借助第三方软件的方法,下面就来分享一下。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。