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

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

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

如何根据自定义字段进行搜索,同时还要在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安装ssh服务)ubuntu配置ssh服务器,ubuntu安装ssh服务器的方法,ubuntu安装ssh服务器的方法,

万万没想到(Ubuntu安装ssh服务)ubuntu配置ssh服务器,ubuntu安装ssh服务器的方法,ubuntu安装ssh服务器的方法,

免费领取腾讯云服务器! 安装了一个ubuntu系统,想着在内网中用ssh进行远程连接管理。下面这篇博文就说说如果在ubuntu系统中安装ssh远程管理服务。 ubuntu 安装ssh服务器的方法 1、安装 openssh-s...

干货分享(php file_get_contents curl)php file_get_contents post,php file_get_contents(): SSL operation failed with code 1. OpenSSL Error message.....,php file_get_contents(): SSL operation failed with code 1. OpenSSL Error message.....,

免费领取腾讯云服务器! 在调试php脚本代码时,发现使用 file_get_contents() 函数请求HTTPS的网址链接时出现了报错,其报错代码如下面所示“file_get_contents(): SSL operation failed with...

这都可以?(php获取服务器信息)php获取客户端,php获取服务器操作系统类型的方法,php获取服务器操作系统类型的方法,

免费领取腾讯云服务器! 利用php脚本中的 php_uname() 函数与 PHP_OS 变量可以获取服务器操作系统的类型,具体的使用方法如下。 php获取服务器操作系统的方法 1、php_uname() 获取服务器操作系统...

这都可以(php保存网络图片到本地)php下载图片到本地,php保存图片到本地的方法,php保存图片到本地的方法,

免费领取腾讯云服务器! 下面列几种网上收集的利用php脚本将远程图片保存至本地的方法,各位自行测试代码是否可用,另外php保存远程图片到本地并不能确保百分百的一定会拉取到远程图片的数据。 php保存远程图片到本地的方法 方法...

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

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

没想到(imagettftext函数)imagettftext函数支持的编码类型,imagettftext(): any2eucjp(): invalid code in input string 错误解决方法,imagettftext(): any2eucjp(): invalid code in input string 错误解决方法,

免费领取腾讯云服务器! 最近在研究关于php生成图片的东西,发现了 imagettftext() 函数中一个不是错误的错误,具体的错误情况如下所示。 错误代码:...

发表评论

访客

看不清,换一张

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