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

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

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

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

原创(禁止ping命令操作)linux如何停止ping,linux禁ping操作的方法,linux禁ping操作的方法,

免费领取腾讯云服务器! linux中可以通过ssh命令来禁止其它机器来ping自己,下面是配置方法,大家可以参考一下。 linux中禁ping的方法 方法1 临时禁ping,系统重启后失效,已在ubuntu系...

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

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

不看后悔(php全局变量有哪些)php全局变量和局部变量的区别,php全局变量与js全局变量的区别,php全局变量与js全局变量的区别,

免费领取腾讯云服务器! 因为经常写php与js代码,有时候使用全局变量的时候经常的混淆,这篇文章就来说说js中的全局变量与php中的全局变量的区别。 js全局变量与php全局变量的区别 php全局变量 php...

没想到(PHP重定向)php获取重定向后的地址,php实现页面重定向的方法,php实现页面重定向的方法,

免费领取腾讯云服务器! php脚本实现页面重定向有多种方法,下面列几种简单的方法,供大家来参考一下。 php实现页面重定向的方法 方法1: 使用php中的 header() 函数来实现页面的跳转,实现重定向的...

学会了吗(php保存文件到指定地点)php保存图片,php保存base64编码图片的方法,php保存base64编码图片的方法,

免费领取腾讯云服务器! 写一个图片上传的插件,因为特殊性就在前台将图片转为base64编码并上传到后台,下面说一说在后台怎么利用php代码将base64编码格式的图片转成正常的图片,并保存的。 PHP保存Base64图片 p...

发表评论

访客

看不清,换一张

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