搜索指定网站内容( 栏目的用户体验时(图))

优采云 发布时间: 2021-10-14 09:08

  搜索指定网站内容(

栏目的用户体验时(图))

  织梦DEDEcms网站只搜索指定列文章或者某个内容模型的方法

  时间:2021-04-05 08:21 来源:互联网

  首先,我们在 /include/ 文件夹中找到 arc.searchview.class.php。300行和470行大概有两条sql语句,最后加一个条件和一个判断。

  

$cquery = "Select * From `dede_archives` arc where arc.typeid not in (1,2,3...) and {$this->AddSql}";

  

//搜索

$query = "Select arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,

act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath

from `dede_archives` arc left join `dede_arctype` act on arc.typeid=act.id

where act.id not in (4,5,,6....) and {$this->AddSql} $ordersql limit $limitstart,$row";

  用这两句替换sql语句,括号中的id是你不搜索的列的id

  在做企业网站优化(或者用户体验)的时候,大家肯定会遇到这个问题!

  在搭建企业网站时,每个人都会有基本的企业信息,联系我们,以及产品信息。

  当产品信息达到一定数量时,会进行搜索,方便用户查询。但是dedecms模板没有这个功能。只有整个网站和谷歌搜索。

  我们想要的是只搜索几个指定的列。例如,我只希望用户搜索我的产品。这是企业最想要的。我的 网站 是在生成订单之前向客户展示我的产品。

  我这里就不给你绕路了,我把代码公布给你。但仅限于一列。但我想我当然没有尝试过。您可以将要搜索的其他列移动到此顶级列吗?

  在加号/search.php

  在第 94 行之前是

  $sp = new SearchView($typeid,$keyword,$orderby,$channeltype,$searchtype,$starttime,$pagesize,$kwtype,$mid);

  在添加 $typeid=xxx 之前;

  xxx 是指定列的 id

  这样就可以搜索到指定的列ID。

  如果要搜索某个内容模型中的文章,其他模型不参与搜索,只需要打开/plus/search.ph文件,第十二左右有如下代码线

  其中$channeltype为指定搜索的内容模型,最后修改为对应的内容模型即可。

  $channeltype = (isset($channeltype) && is_numeric($channeltype))?$频道类型:6;

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线