Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 12.09.2006, 18:38   #1
garik
Новенький
 
Регистрация: 21.03.2006
Сообщений: 13
По умолчанию Индексация (tx_indexedsearch)

Накопилось несколько вопросов по данному плагину. Plugin tx_indexedsearch (версия 2.9.0 + ch_is_templates 1.1.13) выводит максимум 20 найденных совпадений. Листалка по страницам, которая выводится маркерами ###BORWSEBOX1### и ###BORWSEBOX2### почему-то не работает.
Первый вопрос почему? и как сделать неограниченный вывод списка совпадений

Второй вопрос: по некоторым словам плагин ищет страницы, но в описании, где должно быть чтото вроде "...текст текст найденное слово текст текст..." он выводит текст из нижней части шаблона , а не контента...

и вобще есть ли альтернатива этому плагину, т.е. использование других плагинов поиска.
garik вне форума   Ответить с цитированием
Старый 26.09.2006, 14:15   #2
garik
Новенький
 
Регистрация: 21.03.2006
Сообщений: 13
По умолчанию

Понятно, листалка не работала из за ch_is_templates, снёс ее и всё заработало.
tx_indexedsearch 2.9.0 на первый взгляд работает нормально...но он часто находит страницы по словам которых там нет (как например из трех букв х**, или строку ываыавыаыаыа)...причем показывает, что находит слова на всех страницах сайта...такая тенденция наблюдается с русскими словами..с английскими все в порядке.
garik вне форума   Ответить с цитированием
Старый 26.09.2006, 17:28   #3
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Цитата:
Сообщение от garik
Понятно, листалка не работала из за ch_is_templates, снёс ее и всё заработало.
tx_indexedsearch 2.9.0 на первый взгляд работает нормально...но он часто находит страницы по словам которых там нет (как например из трех букв х**, или строку ываыавыаыаыа)...причем показывает, что находит слова на всех страницах сайта...такая тенденция наблюдается с русскими словами..с английскими все в порядке.
скорее всего дело в кодировке MySQL и настроке typo3
Чтобы все было ОК:
1) MySQL 4.x c кодировкой utf8 для базы
2) TYPO3 force charset utf-8
3) настройки в localconf.php см в FAQ на этом форуме

Цитата:
Второй вопрос: по некоторым словам плагин ищет страницы, но в описании, где должно быть чтото вроде "...текст текст найденное слово текст текст..." он выводит текст из нижней части шаблона , а не контента...
Ага - есть такое.
Это явный баг - фунция отвечающая за вывод различает "путин" и "Путин", а функция поиска - их не различает.
Я попробую это пропатчить.

Цитата:
и вобще есть ли альтернатива этому плагину, т.е. использование других плагинов поиска.
нормальной альтернативы нет.
Для поиска в новостях можно использовать сам новостной плагин.
Для отдельных экстеншенов - можно использовать другие плагины.
Но для общесайтового поиска - index search - помоему лучший вариант
__________________
Веб-студия ТТЛАБ
www.ttlab.ru

Последний раз редактировалось Valery Romanchev; 26.09.2006 в 17:33
Valery Romanchev вне форума   Ответить с цитированием
Старый 01.10.2006, 19:08   #4
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

вот патч чтобы подвечивать слова правильно
файл pi/class.tx_indexedsearch.php

Цитата:
function markupSWpartsOfString($str) {

// Init:
$str = str_replace(' ',' ',t3lib_parsehtml::bidir_htmlspecialchars($str,-1));
$str = preg_replace('/\s\s+/',' ',$str);
$swForReg = array();

// Prepare search words for regex:
foreach ($this->sWArr as $d) {
$swForReg[] = preg_quote($d['sword'],'/');
//patch
$sword_low= mb_convert_case($d['sword'], MB_CASE_LOWER , "UTF-8");
$sword_up_first= mb_convert_case($d['sword'], MB_CASE_TITLE, "UTF-8");
$sword_up_all= mb_convert_case($d['sword'], MB_CASE_UPPER, "UTF-8");
if ($sword_low<> $d['sword']) $swForReg[] = preg_quote($sword_low,'/');
if ($sword_up_first<> $d['sword']) $swForReg[] = preg_quote($sword_up_first,'/');
if ($sword_up_all<> $d['sword']) $swForReg[] = preg_quote($sword_up_all,'/');
// end patch

.....
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:44.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория