Jump to content

Featured Replies

3 часа назад, edmsl сказал:

Может из-за этого.

нет, эти ошибки с этим не связаны, это кривой итератор (js/css) плагинов dev режима, можно не обращать на это внимания.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195246
Share on other sites
  • Replies 140
  • Created
  • Последний ответ
Expand topic overview

Лучшие авторы в теме

Лучшие авторы в теме

Most Popular Posts

edmsl
edmsl

Хороший плагин, но на 4.7.9 не работает. Поэтому решил его адаптировать. Это моя первая работа, так что ошибки очень вероятны. Перевод мой. На версиях ниже 4.7.9 не тестировал. (BIM) Quick S

Zero108
Zero108

edmsl На 4.7.11.1 работает:  Осталось только в CSS подправить стиль для темной темы. Попробую для Nexxe темы сделать.

edmsl
edmsl

Zero108 Я хотел сначала привязать стили к переменным, но что-то у меня не сложилось, и я отложил эту идею. Я сейчас дорабатываю этот плагин, может и стили все же поправлю заодно.

Posted Images

Expand topic overview

На двух разных ПК, двух разных движках, в 5-ти разных браузерах проверял. Нет возможности в дев режиме ни добавить виджет, ни увидеть уже установленный. И JS код именно виджетов не обновляется.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195247
Share on other sites
16 минут назад, edmsl сказал:

На двух разных ПК, двух разных движках, в 5-ти разных браузерах проверял. Нет возможности в дев режиме ни добавить виджет, ни увидеть уже установленный. И JS код именно виджетов не обновляется.

Виджет из плагина не полностью совместим с последней версией ips, можешь создать свой и сравнить их

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195249
Share on other sites
25 минут назад, Exception сказал:

Виджет из плагина не полностью совместим с последней версией ips

Действительно, новый созданный виджет есть в списке и отображается. Спасибо. Буду переделывать старый.

Edited by edmsl

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195251
Share on other sites

В общем, весь плагин состоит из говнокода. Я еще когда начал его просматривать, мне сразу не понравились некоторые моменты (например, объявление переменных в середине кода, а не в начале), но я подумал, что может для PHP это обычная практика, но JS код тоже написан так же, а уж с ним я работаю давно, и лучшие практики мне знакомы. В общем, пришлось править и вроде как победил. Буду тестить.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195252
Share on other sites

edmsl Вообще странно, что современные разработчики сайтов, например, invision community, битрикс, без пинка не внедряют умный поиск (это когда при наборе запроса в поисковой строке вываливаются результаты во время набора) в свои продукты.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195267
Share on other sites

Если быть откровенными, то движки в целом сильно отстают от современных трендов сайтостроения.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195287
Share on other sites

Есть в JS коде код шаблона и в нем строка

<span id='bimQS_advSearch'>{{#lang}}bimQS_advSearchBnt{{/lang}}</span>\
Для этих переменных создается отельный файл jslang.php. Так вот можно ли сюда как-то передать переменную? В обычных lang строках ставится знак %. А вот как здесь передать я так и не понял.
Можно генерировать html на php, но хотелось бы через переменные.

Edited by edmsl

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195288
Share on other sites

И еще вопрос по той же теме.

Есть строка в php:

$html = \count($data) > 0 ? \IPS\Theme::i()->getTemplate( 'plugins', 'core', 'global' )->bimQuickSearch( $data ) : "<tr><td>" . \IPS\Member::loggedIn()->language()->addToStack( 'search_found', FALSE, array( 'sprintf' => array( 0 ) )) . "</td></tr>";

Как из записи "<tr><td>" . \IPS\Member::loggedIn()->language()->addToStack( 'search_found', FALSE, array( 'sprintf' => array( 0 ) )) . "</td></tr>" получить строку <tr><td>Found 0 result</td></tr>?

Если писать как я сделал выше, то получаю <tr><td>Found {# [1:result][?:results]}</td></tr>. Эта строка потом идет в функцию html() у элемента.

Всяко пробовал, но ничего не выходит.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195291
Share on other sites
44 минуты назад, edmsl сказал:

И еще вопрос по той же теме.

Есть строка в php:

$html = \count($data) > 0 ? \IPS\Theme::i()->getTemplate( 'plugins', 'core', 'global' )->bimQuickSearch( $data ) : "<tr><td>" . \IPS\Member::loggedIn()->language()->addToStack( 'search_found', FALSE, array( 'sprintf' => array( 0 ) )) . "</td></tr>";

Как из записи "<tr><td>" . \IPS\Member::loggedIn()->language()->addToStack( 'search_found', FALSE, array( 'sprintf' => array( 0 ) )) . "</td></tr>" получить строку <tr><td>Found 0 result</td></tr>?

Если писать как я сделал выше, то получаю <tr><td>Found {# [1:result][?:results]}</td></tr>. Эта строка потом идет в функцию html() у элемента.

Всяко пробовал, но ничего не выходит.

использовать pluralize вместо sprintf для числовых значений

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195293
Share on other sites

Итак, поправил виджет и реализовал поиск по форуму, включая подфорумы.

Exception Что касается поиска по вложенным форумам. Чтобы получить массив id дочерних форумов, добавил в хук плагина след. код.

Спойлер
class hook100 extends _HOOK_CLASS_
{
	private $childrenIds = [];

	private function getChildrenIds($forum)
	{
		$this->childrenIds[] = $forum->_id;

		foreach ($forum->children() as $node) {
			$this->childrenIds[] = $node->_id;
			foreach ($node->children() as $child) {
				$this->getChildrenIds($child);
			}
		}

		return $this->childrenIds;
	}
...

 

Его я скопировал из класса IPS\forums\modules\front\forums\_forums, т.к. я не нашел готового метода для этого. Затем использовал так

Спойлер
$nodes = \IPS\Request::i()->nodes;

if ( \intval( $nodes ) > 0)
{
	if (\IPS\Request::i()->type == 'forums_topic') {
		$ids = explode(',', $nodes);

		if (\count($ids) > 1) {
			$filter->onlyInContainers( $ids );
		} else {
			$forum = \IPS\forums\Forum::load( \intval( $nodes ) );
			$filter->onlyInContainers( $this->getChildrenIds( $forum ) );
		}
	} else {
		$filter->onlyInContainers( array( \IPS\Request::i()->nodes ) );
	}
}

 

Или может все же есть более простой (готовый) способ получить требуемый результат?

(BIM) Quick Search 4.6.0.xml

Edited by edmsl

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195319
Share on other sites

Осталось разобраться с elasticsearch, но с ходу вчера мне не удалось его запустить на винде. Буду разбираться.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195322
Share on other sites

Я правильно понимаю, что движком не предусмотрена возможность поиска по 2-м категориям? Только одна или все сразу. Допустим, я хочу выполнить поиск только по файлам и галерее, но я не могу их выбрать, т.к. селектор не поддерживает мультивыбор. Отдельно файлы, отдельно галерея.

Возможно ли это реализовать через свой кастомный запрос к БД?

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195331
Share on other sites
В 28.07.2023 в 21:49, Zero108 сказал:

Не ищет по двум и более словам

Запустил elasticsearch и да, проблема есть. Буду копаться.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195339
Share on other sites

Проблема заключается в добавлении символа * в конец поискового запроса при включенной опции Search incomplete words в плагине. Это так называемый поиск с помощью Wildcard Query, когда звездочка подразумевает любые символы. С обычным поиском это работает, а вот в Эластике нет. Работает только с одним словом, без пробелов. Похоже, что это внутренние механизмы Эластика. На сайте пишут, что в данном случае не нужно использовать Wildcard.

Я не знаю, возможно ли как-то изменять принцип работы поиска Эластика. Если нет, то придется для него опцию Search incomplete words отключить.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195340
Share on other sites
32 минуты назад, edmsl сказал:

Я не знаю, возможно ли как-то изменять принцип работы поиска Эластика. Если нет, то придется для него опцию Search incomplete words отключить.

Лучше отключить и не отображать настройку при включенном эластике. Честно говоря, особых преимуществ  эластика перед обычным поиском средставми mysql при небольших нагрузках не заметил. Есть различия в результатах поиска?

Edited by Zero108

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195341
Share on other sites
2 часа назад, Zero108 сказал:

Есть различия в результатах поиска?

Я не заметил. Но у меня на тестовом сайте и контента мало.

Сделаю тогда эту опцию недоступной при использовании Эластика.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195342
Share on other sites

Надеюсь, финальная итерация.

Поправил выдачу результатов по конкретной записи (например, файлу. Видео из Videos, надуюсь, работает по тому же принципу), когда в выдачу попадали другие записи.

Расширил настройки виджета. Теперь можно убрать показ окна настроек поиска. Удобно, если нужно сделать поиск по какой-то одной категории. Например, только по файлам.

Поправил некоторые свои ошибки.

Если не будет проблем, то буду считать работу завершенной.

(BIM) Quick Search 4.6.0.xml

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195344
Share on other sites
3 часа назад, edmsl сказал:

Теперь можно убрать показ окна настроек поиска.

О чем идет речь? Выпадающий список разделов сайта в строке поиска и раньше можно было отключать.

Обозначил как 4.6.1.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195350
Share on other sites

Хочу сообщить о баге: если поисковая система default (MySQL), а в плагине включена настройка Search incomplete words, то при переключении поисковой системы на эластик плагин перестает работать (поисковых результатов 0 при любом запросе). Видимо, нужно внести изменения, чтобы настройка Search incomplete words не учитывалась или еще что-то.

Не работает в корневом разделе форумов https://a108.net/forums/ (не ищет по подфорумам).

Чтобы вернуть поиск в рабочее состояние, нужно переключить поисковую систему на джефолтную и выключить настройку плагина, затем вернуться на эластик.

Edited by Zero108

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195352
Share on other sites

И сделать переиндексацию поиска.

И еще маленькая просьба. В приложении Videos не отображаются превью в поиске. Превью можно добавлять в виде вложения, в виде ссылки, либо создавать автоматический при добавлении или редактировании видео. У меня, например, большинство превью в виде ссылок вида https://i.ytimg.com/vi/CBiuig13YRU/hqdefault.jpg Можно ли сделать, чтобы в поиске по Videos появлялись превью?

Videos - Trips.a108.net – Brave.jpg

Edited by Zero108

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195353
Share on other sites
9 часов назад, Zero108 сказал:

О чем идет речь?

Об этом.

Спойлер

firefox_2023-08-06_08-54-55.thumb.jpg.5907d3596ca62dbdbc1c8c9faec98f83.jpg

firefox_2023-08-06_08-57-35.jpg.3514c1da61fe28a0be984210441c7a63.jpg

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

8 часов назад, Zero108 сказал:

Хочу сообщить о баге

Если переключать типы поиска туда-сюда, то и обычный поиск не выдает результатов, пока не перестроятся поисковые индексы. Сам плагин здесь ни при чем.

8 часов назад, Zero108 сказал:

В приложении Videos не отображаются превью в поиске.

Попробую добавить.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195357
Share on other sites

Есть проблема с Videos. Это приложение и при его установке не создается папка dev. Из-за этого вылетают ошибки и я не могу работать над плагином. Как быть?

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195358
Share on other sites
1 час назад, edmsl сказал:

Есть проблема с Videos. Это приложение и при его установке не создается папка dev. Из-за этого вылетают ошибки и я не могу работать над плагином. Как быть?

Версия ips4 и php ?

Устанавливали с нуля или обновляли?

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195361
Share on other sites
3 минуты назад, aLEX49566 сказал:

Версия ips4 и php ?

4.7.11 и 8,1.

Ставил с нуля. Для плагинов папка дев создается только при установке в дев режиме. А вот для приложений не создается никак.

Link to comment
https://ipbmafia.ru/topic/23648-bim-quick-search/?&do=findComment&comment=195362
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.