Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 12 Ответов
  • 2585 Просмотров
*

Galard

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Встроенный модуль поиска при запросе пустого или несуществующего запроса выводит соответствующую страницу об отсутствии результатов.

Однако при поиске существующего запроса выводит ошибку:
Fatal error: Call to undefined function iconv() in /docs/administrator/components/com_search/helpers/search.php on line 233

Содержимое этой строки:
   /**
    * Transliterates given text to ASCII//TRANSLIT.
    * Simulates glibc transliteration style even if libiconv is used by PHP
    *
    * @param   string  $str  String to remove accents from
    *
    * @return  string
    *
    * @since   3.2
    */
230   public static function remove_accents($str)
231   {
232      setlocale(LC_ALL, "en_GB.UTF-8");
233      $str = iconv("UTF-8", "ASCII//TRANSLIT//IGNORE", $str);
234      //TODO: remove other prefixes as well?
235      return preg_replace("/[\"'^]([a-z])/ui", '\1', $str);
236   }
« Последнее редактирование: 09.09.2013, 12:11:12 от b2z »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
*

Galard

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: Поисковый запрос выдает ошибку
« Ответ #2 : 06.09.2013, 09:08:52 »
Был отключен модуль iconv. После включения выводит результаты, но сопровождается ошибками:

Warning: mb_strpos() [function.mb-strpos]: Empty delimiter in /docs/libraries/phputf8/mbstring/core.php on line 45

Warning: mb_strpos() [function.mb-strpos]: Empty delimiter in /docs/components/com_search/views/search/view.html.php on line 171

Пока отключил вывод ошибок. Но все же подскажите, с чем это может быть связано.

Вот содержание core.php:
/**
* Assumes mbstring internal encoding is set to UTF-8
* Wrapper around mb_strpos
* Find position of first occurrence of a string
* @param string haystack
* @param string needle (you should validate this with utf8_is_valid)
* @param integer offset in characters (from left)
* @return mixed integer position or FALSE on failure
* @package utf8
* @subpackage strings
*/
43    function utf8_strpos($str, $search, $offset = FALSE){
44         if ( $offset === FALSE ) {
45             return mb_strpos($str, $search);
46         } else {
47             return mb_strpos($str, $search, $offset);
48         }
49     }

и view.html.php:

169   foreach ($searchwords as $hlword)
170   {
171      if (($pos = mb_strpos($srow, strtolower(SearchHelper::remove_accents($hlword))))!== false)
172      {
173      $pos += $cnt++ * mb_strlen($hl1 . $hl2);

*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Поисковый запрос выдает ошибку
« Ответ #3 : 06.09.2013, 12:20:31 »
Warning: mb_strpos() [function.mb-strpos]: Empty delimiter in /docs/libraries/phputf8/mbstring/core.php on line 45
данное предупреждение возникает если в функции mb_strpos не задан или пустой 2 параметр, т.е. тут
Цитировать
return mb_strpos($str, $search);
переменная $search пустая
тут
Цитировать
mb_strpos($srow, strtolower(SearchHelper::remove_accents($hlword)))
аналогично

Почему так происходит не знаю
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Поисковый запрос выдает ошибку
« Ответ #4 : 06.09.2013, 12:21:12 »
Уже была похожа тема и что-то меня наводит на мысль, что это багус.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Поисковый запрос выдает ошибку
« Ответ #5 : 06.09.2013, 12:40:55 »
тут проблема может быть в кодировке
ссылка есть на пациента? Смотрите в общем какую кодировку отдает сервер, должна быть utf8
в .htaccess можно добавить строчку
Цитировать
AddDefaultCharset UTF-8
*

Galard

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Re: Поисковый запрос выдает ошибку
« Ответ #6 : 06.09.2013, 14:57:10 »
Решено: добавил в .htaccess строчку AddDefaultCharset UTF-8.
Огромное спасибо SmokerMan!
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
RE: Поисковый запрос выдает ошибку
« Ответ #8 : 09.09.2013, 12:03:43 »
Galard - так у Вас решилась проблема или нет? Вроде писали, что решилось, а потом мне в личку, что нет...
*

Galard

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
RE: Поисковый запрос выдает ошибку
« Ответ #9 : 09.09.2013, 12:04:34 »
Не надо в FAQ!

По невнимательности поторопился с ответом. Это не помогло!

Далее бороться с этой проблемой не буду, так как если отключить отображение ошибок то все работает...
*

Anhen71

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Поисковый запрос выдает ошибку
« Ответ #10 : 30.09.2013, 12:50:26 »
Спасибо, что написали об отключении ошибок! Это мне тоже помогло! Я много времени потратила, чтобы разобраться.
У меня была, та же самая проблема, кодировка utf-8 прописана везде, где только можно. Проблема возникла на сайтах, сделанных на Joomla 3.1.5. Но тут дело не только в версии Joomla - у меня около 15 аналогичных сайтов, расположены они на разных хостингах. Так вот эта проблема существует у меня на nic.ru и на hostland.ru. На других хостингах аналогичные сайты проблем с поиском не имеют.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Поисковый запрос выдает ошибку
« Ответ #11 : 30.09.2013, 13:53:32 »
На других хостингах аналогичные сайты проблем с поиском не имеют.
скорее всего там просто отключен вывод ошибок
Написал на баг трекер - http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=32130&start=0
*

Paveldz

  • Захожу иногда
  • 80
  • 0 / 0
Re: Поисковый запрос выдает ошибку
« Ответ #12 : 12.02.2015, 09:32:25 »
скорее всего там просто отключен вывод ошибок
Написал на баг трекер - http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=32130&start=0
Спасибо. Помог ответ:
 
Solution is in:
administrator/components/com_search/helpers/search.php:233
$str = iconv("UTF-8", "ASCII//TRANSLIT//IGNORE", $str);
replace with:
$str = iconv("UTF-8", mb_detect_encoding($str, 'auto'), $str);
 
It works.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Получить ошибку

Автор KevinSimon

Ответов: 0
Просмотров: 682
Последний ответ 22.09.2023, 15:20:21
от KevinSimon
После переноса сайта выдает ошибку

Автор rezchik

Ответов: 5
Просмотров: 1077
Последний ответ 14.04.2023, 21:53:12
от rezchik
Модуль Яндекс карты выдает ошибку Warning: count(): Parameter must be an array

Автор 62411

Ответов: 0
Просмотров: 1047
Последний ответ 19.02.2023, 13:34:54
от 62411
Responsive Testimonials Pro выдает ошибку

Автор SoulWolf

Ответов: 2
Просмотров: 1084
Последний ответ 22.01.2023, 17:38:57
от SoulWolf
Привязка материала к метке через запрос к БД

Автор sk8work

Ответов: 4
Просмотров: 1068
Последний ответ 14.10.2022, 13:24:55
от sk8work