Joomla!系统自带的搜索组件com_search如果输入中文关键词,有两个问题:

1、对于中文关键词我们通常是两个字,比如"插件",这样的关键词的长度是2,而Joomla!查询的关键词限制长度是3以上。

2、对于一些中文关键词,如果开启了sef,就会导致搜索不到结果。

 这两个问题一直没时间来处理,现在给出解决方法如下:

对以第一个问题:修改components/com_search/views/search.php 中

将以下部分都注释掉

  //if(SearchHelper::limitSearchWord($searchword)) {
  // $error = JText::_( 'SEARCH_MESSAGE' );
  //}
  //sanatise searchword
  //if(SearchHelper::santiseSearchWord($searchword, $state->get('match'))) {
  // $error = JText::_( 'IGNOREKEYWORD' );
  //}

 这部分代码就是对关键词进行一些限制和处理,我是简单的去掉就算了,当然你若不希望这么粗暴的处理,可以去修改administrator/components/com_search/helpers/下的search.php ,将其中的长度限制改为更多。

对于第二个问题,我是花了很长时间才找到问题所在,就是sef导致输入的中文keywords被处理错误导致乱码,才会无法查到结果的。我弄了个最简单的粗暴的处理方式,就是将com_search/router.php 中的两个函数中内容都全部清空。

也就是不再做那些url参数的build了,这样至少实现了功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值