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

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

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

如何根据自定义字段进行搜索,同时还要在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高级查询实现自定义字段查询、显示问题,” 的相关文章

深度揭秘(Ubuntu 防火墙设置)ubuntu防火墙配置文件,ubuntu防火墙的安装与设置,ubuntu防火墙的安装与设置,

免费领取腾讯云服务器! ubuntu系统中的防火墙使用的是iptables,而为了方便防火墙的设置ubuntu提供了一个防火墙管理工具ufw.下面这篇文章就说一说关于防火墙管理工具ufw的安装与使用方法。 ubuntu防火墙ufw的安装与设...

新鲜出炉(ubuntu系统与centos系统区别)ubuntu还是centos,centos系统与ubuntu系统的区分,centos系统与ubuntu系统的区分,

免费领取腾讯云服务器! Linux的发行版有很多,而我们经常使用的为centos与ubuntu,下面这篇博文就说说这两个系统的发源与区别。 CentOS CentOS(Community Enterprise Operati...

这都可以(PHP百度百科)pHp是什么,php中关于strtotime函数31日取前几个月日期的BUG,php中关于strtotime函数31日取前几个月日期的BUG,

免费领取腾讯云服务器! 在使用php脚本中的 strtotime 函数取前几个月的日期时,发现每到31日时,取出的前几个月的日期都会出现错误。仔细检查了一下,发现在利用 strtotime 函数取前几个月的日期时,给 strtotime 函数的参数并不规范...

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

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

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

这都可以(判断是否是ajax请求)php判断请求方式,php判断是否为ajax请求的方法,php判断是否为ajax请求的方法,

免费领取腾讯云服务器! 在后端可以利用php代码来判断前台提交的数据是否通过ajax进行提交的,其方法也非常的简单,只需要判断$_SERVER["HTTP_X_REQUESTED_WITH"] 是否存在,以及判断 $_SERVER["HTTP_X_REQU...

全程干货(php将图片转为对象)php文件怎么转成图片,php将图片转为base64编码格式图片的方法,php将图片转为base64编码格式图片的方法,

免费领取腾讯云服务器! 下面的博文提供两个利用php代码将图片转为base64编码格式图片的方法,分为php转换本地图片为base64图片以及php转换远程图片为base64图片的方法。...

发表评论

访客

看不清,换一张

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