Модуль "Поиск"

Обсуждение модулей, устанавливаемых по-умолчанию в cms concrete5

Модуль "Поиск"

Сообщение fallingfalling » 25 июл 2011, 17:03 ,  »  Сообщение:#1

Проблема такая. Использую данный модуль как поисковик по тегам. Но когда нажимаю на какой-либо тег выскакивает след. бред:
Пожалуйста зарегистрируйтесь, чтобы увидеть ссылку

На сколько я понимаю это идет описание, но оно корявое. Как убрать или исправить этот бред?
Последний раз редактировалось fallingfalling 25 июл 2011, 19:32, всего редактировалось 1 раз.
Аватара пользователя
fallingfalling
 
Сообщения: 36
Зарегистрирован: 27 июн 2011, 23:52
Откуда: Курчатов

Re: Модуль "Поиск"

Сообщение cmsservice » 25 июл 2011, 17:54 ,  »  Сообщение:#2

Там, в контроллере модуля, неправильно написаны регулярные выражения, они не учитывают работу с русскими буквами. Кроме того, по данной же причине, поиск неправильно работает. Где там что нужно подправить я уже и не вспомню, но в нашем дистрибутиве эта проблема решена.
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Модуль "Поиск"

Сообщение fallingfalling » 26 июл 2011, 12:49 ,  »  Сообщение:#3

вот нужно что-то исправлять, а то в таком виде вообще никуда не годится
Аватара пользователя
fallingfalling
 
Сообщения: 36
Зарегистрирован: 27 июн 2011, 23:52
Откуда: Курчатов

Re: Модуль "Поиск"

Сообщение cmsservice » 26 июл 2011, 18:56 ,  »  Сообщение:#4

Ловите корректный контроллер.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Модуль "Поиск"

Сообщение fallingfalling » 27 июл 2011, 15:27 ,  »  Сообщение:#5

Не получилось... Всё точно также как и было
controller я кидал в /website/concrete/blocks/search
Аватара пользователя
fallingfalling
 
Сообщения: 36
Зарегистрирован: 27 июн 2011, 23:52
Откуда: Курчатов

Re: Модуль "Поиск"

Сообщение cmsservice » 28 июл 2011, 11:21 ,  »  Сообщение:#6

Короче, качните наш дистрибутив и выньте из него директорию с блоком search, так будет правильнее.

Как работает можно посмотреть на нашем сайте.


UPD: Кстати, вспомнил, там в базе в оригинальной установке, в таблице, по которой осуществляется поиск, поле с текстовыми значениями в кодировке latin1, а нужно UTF-8, может еще в этом дело
С уважением, Константин
http://Переделка-сайтов.РФ
Индивидуальные решения на платформе Concrete5 для театров и производственно-торговых компаний.
Аватара пользователя
cmsservice
 
Сообщения: 763
Зарегистрирован: 10 окт 2010, 00:10
Откуда: Москва

Re: Модуль "Поиск"

Сообщение Count_Raven » 06 фев 2012, 19:05 ,  »  Сообщение:#7

Короче, все равно будут кракозябры.

Проблема в функции:
Код: Выделить всё
public function highlightedMarkup($fulltext, $highlight) {
      $this->hText = $fulltext;
      $this->hHighlight  = str_replace(array('"',"'","""),'',$highlight); // strip the quotes as they mess the regex
      if(!empty($this->hHighlight)) $this->hText = @preg_replace( "#$this->hHighlight#i", '<span class="highlight">$0</span>', $this->hText );
      return $this->hText;
   }


preg_replace возвращает бред, мучался долго, модификатор "u" не помогает.
В итоге единственное, хоть и дурацкое решение, это конвертировать из UTF-8 в cp1251, дать preg_replace на вход и потом конвертировать из cp1251 обратно в UTF-8

Код: Выделить всё
if(!empty($this->hHighlight)) {
$this->hText = @preg_replace( "#$this->hHighlight#i", '<span class="highlight">$0</span>', iconv('UTF-8', 'cp1251', $this->hText) );
$this->hText = iconv('cp1251','UTF-8', $this->hText);
}
return $this->hText;


Тогда нормальный текст, а не кракозябры, вопросы или точки.
Country Amiant - Regno All Rianto
Аватара пользователя
Count_Raven
Супермодератор
 
Сообщения: 1156
Зарегистрирован: 06 окт 2010, 15:00
Откуда: Country Amiant


Вернуться в Стандартные модули concrete5

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron