Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[3.1][3.2][dev] liveSearch - живой поиск (как в Гугле)

Все расширения, созданные нашим сообществом для phpBB, как находящиеся в разработке, так и прошедшие валидацию на официальном сайте phpbb.com, будут анонсированы тут. Вся техническая поддержка по этим расширениям оказывается в этом форуме.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

[3.1][3.2][dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

Расширение позволяет быстро перейти к форуму/теме/пользователю по набору части названия/имени:
1. Быстрый поиск по форуму отображает все форумы конференции, содержащие введенную комабинацию символов
2. Быстрый поиск по теме отображает все темы конференции, содержащие введенную комбинацию символов
3. Быстрый поиск по пользователю отражает все ники, начинающиеся с введенной комбинации символов и позволяет:
- перейти в профиль пользователя
- отправить ЛС пользователю
- отправить E-mail пользователю
- связаться с пользователем любым, указанным им в профиле сервисом(skype, ICQ, Facebook и.т.д)
- найти все темы пользователя ( в конференции или в конкретном форуме и его подфорумах)
- найти все посты пользователя ( в конференции или в конкретном форуме и его подфорумах или в конкретной теме) - работает не до конца
- на странице создания нового ЛС позволяет быстро добавить пользователя в список получателей
- с помощью плагина "глаз" можно управлять видимостью блока поиска

На странице настроек можно включить/отключить любой из поисков, а также настроить параметры, с какого введённого символа начинать поиск и сколько результатов отображать
Репозиторий: https://github.com/alg5/liveSearch
Инсталляция:
Скопируйте всё содержимое репозитория в папку ext/alg/liveSearch/
Перейдите в Панель администратора: АСР-> Персонализация-> Управление расширениями
Включите расширение "liveSearch"

Обсуждение, тестирование, демо ТУТ http://anderson.phpbbguru.net/viewtopic.php?f=5&t=59
Последний раз редактировалось Алг 18.05.2023 18:26, всего редактировалось 1 раз.
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Перенесено из форума Бета-версии расширений для phpBB 3.1.x в форум Анонсы и поддержка расширений для phpBB 3.1.x 11.07.2015 12:55 модератором LavIgor

Аватара пользователя
706536
phpBB 1.4.3
Сообщения: 76
Стаж: 10 лет 4 месяца
Благодарил (а): 8 раз
Поблагодарили: 3 раза

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение 706536 »

сорри, не особо разбираюсь в этом, как это сделать?
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

706536, ждите фикс, вечером постараюсь сделать
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

Воспроизвести ошибку не удалось, похоже для этого нужно иметь в базе темы с пустыми заголовками
706536, попробуйте исправить так:
открыть файл livesearch_ajax_handler.php
найти

Код: Выделить всё

			$pos = strpos(utf8_strtoupper($row['topic_title']), $q);
			if ($pos !== false && $this->auth->acl_get('f_read', $row['forum_id']) )
			{
				$row['pos'] = $pos;
				if($pos == 0)
				{
					$arr_priority1[] = $row;
				}
				else
				{
					$arr_priority2[] = $row;
				}
			}
заменить на

Код: Выделить всё

            if (isset($row['topic_title']) && strlen($row['topic_title']) >0) 
            {
			    $pos = strpos(utf8_strtoupper($row['topic_title']), $q);
			    if ($pos !== false && $this->auth->acl_get('f_read', $row['forum_id']) )
			    {
				    $row['pos'] = $pos;
				    if($pos == 0)
				    {
					    $arr_priority1[] = $row;
				    }
				    else
				    {
					    $arr_priority2[] = $row;
				    }
			    }
            }
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

Вышла версия 2.0.0 расширения
Что нового:
1. Исправлены замеченные баги
2. Добавлен выбор отображения линка темы( с указанием форума в адресной строке и без него)
3. Добавлен поиск форумов, групп, пользователей в панели администратора
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
COB16
phpBB 2.0.15
Сообщения: 1011
Стаж: 9 лет 6 месяцев
Откуда: Беларусь
Благодарил (а): 298 раз
Поблагодарили: 57 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение COB16 »

Алг,
При попытке включить Включить быстрый поиск в панели администратора

Код: Выделить всё

Общая ошибка
SQL ERROR [ mysqli ]

Duplicate entry 'live_search_on_off_acp' for key 'PRIMARY' [1062]

SQL

INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('live_search_on_off_acp', 1, 0)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/phpbb/config/db.php
LINE: 161
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/phpbb/config/db.php
LINE: 122
CALL: phpbb\config\db->set_atomic()

FILE: [ROOT]/ext/alg/liveSearch/acp/acp_live_search_module.php
LINE: 63
CALL: phpbb\config\db->set()

FILE: [ROOT]/includes/functions_module.php
LINE: 674
CALL: alg\liveSearch\acp\acp_live_search_module->main()

FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
SQL ERROR [ mysqli ]

Duplicate entry 'live_search_on_off_acp' for key 'PRIMARY' [1062]

SQL

INSERT INTO phpbb_config (config_name, config_value, is_dynamic) VALUES ('live_search_on_off_acp', 1, 0)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 193
CALL: phpbb\db\driver\driver->sql_error()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: [ROOT]/phpbb/config/db.php
LINE: 161
CALL: phpbb\db\driver\factory->sql_query()

FILE: [ROOT]/phpbb/config/db.php
LINE: 122
CALL: phpbb\config\db->set_atomic()

FILE: [ROOT]/ext/alg/liveSearch/acp/acp_live_search_module.php
LINE: 63
CALL: phpbb\config\db->set()

FILE: [ROOT]/includes/functions_module.php
LINE: 674
CALL: alg\liveSearch\acp\acp_live_search_module->main()

FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
Отправлено спустя 1 минуту 14 секунд:
strelok-by, версия phpbb 3.1.7 PL-1
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

В 3.1.7 на локальном сервере поставился корректно на чистый форум( проверила и обновление и устанока с нуля)
strelok-by, Попробуйте отключить, удалить данные и снова включить
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 14 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 241 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Alecto »

обновился нормально.
единственное - осталась проблема с CSS - инпуты в хроме и файрфоксе немного отличаются по ширине, вследствие чего получается неэстетичный вид.
когда-то решал эту проблему, сейчас просто восстановил старыми CSS.
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

Alecto, когда займусь респонсивным дизайном, тогда и твои CSS возьму за основу
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
TimurM
phpBB 1.4.1
Сообщения: 41
Стаж: 8 лет 5 месяцев
Благодарил (а): 12 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение TimurM »

Как отключить быстрый поиск похожих тем только в одном форуме?
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

Если темы этого форума надо исключить из быстрого поиска вообще, то есть опция в настройке
Если же только исключительно из похожих тем, то придётся вам внести правку
открыть файл controller/livesearch_ajax_handler.php
найти

Код: Выделить всё

$sql = "SELECT t.topic_id, t.topic_title, t.topic_status, t.topic_moved_id, t.forum_id, f.forum_name " .
вставить перед строкой

Код: Выделить всё

        if($action == 'similartopic')
        {
            $ex_fid_ary_add = array();
            $ex_fid_ary_add[] = 12345;    //id forum 
		    $ex_fid_ary = array_merge($ex_fid_ary, $ex_fid_ary_add);
		    $ex_fid_ary = array_unique($ex_fid_ary);
        }
вместо 12345 подставьте id нужного форума
п.с. я не проверяла, если не сработает, напишите
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
romeo_piter
phpBB 2.0.21
Сообщения: 1321
Стаж: 15 лет 1 месяц
Благодарил (а): 159 раз
Поблагодарили: 21 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение romeo_piter »

На смартфонах с любого броузера аналогичная этой ошибка: Re: [dev] liveSearch - живой поиск (как в Гугле) (Пост 706536 #478389)
На стац. компах всё ок.
Как через @media отключить похожие темы на мелких устроиствах? Они там только мешать будут.

Отправлено спустя 24 минуты 22 секунды:
Ещё вопрос, при поиске по темам, когда мы кликаем по теме - открывается новая вкладка, при этом результаты поиска на старой странице исчезают и в поле ввода остается имя ссылки, по которой мы перешли. Можно ли сохранять результаты поиска на старой странице после клика.
Аналогичный вопрос для похожих тем, там это намного актуальнее и на мой взгляд просто необходимо.

Отправлено спустя 9 минут 42 секунды:
Ещё цитаты в результатах поиска отображаются в ascii, т.е. вместо цитаты "
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

romeo_piter, пока на часть вопросов могу ответить.
romeo_piter писал(а): На смартфонах с любого броузера аналогичная этой ошибка
Какой у вас стиль, от Артодии? На своем смартфоне я ошибки не получаю. Можно адрес Вашего форума и тестовый аккаунт, чтобы создать новую тему?
romeo_piter писал(а): Как через @media отключить похожие темы на мелких устроиствах? Они там только мешать будут.
открыть файлstyles/all/theme/live_search.css
вставить в конец

Код: Выделить всё

@media only screen and (max-width: 360px)
, only screen and (max-device-width: 360px) 
{
    .ls_similartopics
	{
		display:none;
    }
}
открыть файл styles/all/template/live_search.js
найти

Код: Выделить всё

if (S_SIMILARTOPIC_SHOW)
заменить на

Код: Выделить всё

if (S_SIMILARTOPIC_SHOW && $(".ls_similartopics").css('display') != 'none')
romeo_piter писал(а): Можно ли сохранять результаты поиска на старой странице после клика
он и так сохраняется в кеше, достаточно удалить последнюю букву в ссылке, которая отображается в окне поиска и список будет вновь перед вами.
romeo_piter писал(а): Ещё цитаты в результатах поиска отображаются в ascii, т.е. вместо цитаты "
с этим позже, когда буду более свободна
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
romeo_piter
phpBB 2.0.21
Сообщения: 1321
Стаж: 15 лет 1 месяц
Благодарил (а): 159 раз
Поблагодарили: 21 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение romeo_piter »

Алг писал(а): Какой у вас стиль, от Артодии?
elegance
Алг писал(а): На своем смартфоне я ошибки не получаю. Можно адрес Вашего форума и тестовый аккаунт, чтобы создать новую тему?
Сейчас скину в ЛС. Но, действительно, глюк не на всех устроиствах есть, на асусе во всех броузерах всё ок. Но учитывая правку с @media вопрос не актуален, наверное.
Алг писал(а): он и так сохраняется в кеше, достаточно удалить последнюю букву в ссылке, которая отображается в окне поиска и список будет вновь перед вами.
Нет, не так. В поле ввода после клика по ссылке сохраняется весь текст ссылки, а он обычно много длинее чем исходный введенный запрос. Т.е. чтобы нам получить новый результат, надо нажать крестик, обнулить поле и снова ввести искомую часть запроса. Это вообще неудобно, если человек хочет найти больше чем одну тему. А чаще всего (по крайней мере на моем форуме) именно так и происходит.
Вот представьте, у нас высветилась по запросу куча тем, некоторые из которых мы хотим открыть. Сейчас приходится проделывать то, что я описал выше, а если бы после клика со списком ничего бы не происходило - было бы гораздо удобнее. Т.е. человек бы шел в новую вкладку, читал, возвращался, тыркал новую ссыль, читал и так далее. Я предлагаю обнулять список результатов не после клика, а только после входа в него. А после клика ничего не делать до момента входа в форму ввода или нажатия на крест. У меня стоял ваш поиск autocomplete ещё на 3.0 и я задавал тот же вопрос, там было какое-то простое решение, если я задавал его на форуме а не в лс - попробую найти. Но имхо так как я описал намного удобнее было бы всем.
И с похожими темами тоже самое - там это ещё актуальнее.
Аватара пользователя
Алг
Former team member
Сообщения: 933
Стаж: 11 лет 9 месяцев
Откуда: Израиль
Благодарил (а): 73 раза
Поблагодарили: 248 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение Алг »

romeo_piter, я не думаю, что это было бы удобно всем, даже уверена в обратном, но могу сделать опцию для тех, кому удобно
Там упёртость и инертность, могут, кстати, в морду дать.
А ты проявляй интеллигентность, постарайся убеждать...

Т. Шаов
romeo_piter
phpBB 2.0.21
Сообщения: 1321
Стаж: 15 лет 1 месяц
Благодарил (а): 159 раз
Поблагодарили: 21 раз

Re: [dev] liveSearch - живой поиск (как в Гугле)

Сообщение romeo_piter »

Если это не сложно - было бы просто замечательно.

Вернуться в «Анонсы и поддержка расширений для phpBB»