Перейти к содержанию

edmsl

Актив
  • Постов

    498
  • Зарегистрирован

  • Посещение

  • Победитель дней

    8

Весь контент edmsl

  1. Zero108 Судя по коду, используется поисковая система сайта, не свои запросы. Он использует класс \IPS\Content\Search\Query
  2. Zero108 В таком случае найти проблему будет не просто. На тестовом использую php 8.1, Apache 2.4, MariaDB 10.8.
  3. У меня снова не наблюдается проблема. Настройки плагина те же? За исключением таймаута.
  4. Это что за приложение? У меня нет такой опции в поиске.
  5. Нет, только при включенном JS. Для отключенного пока только исключения групп. Реализацию Флуд-контроля поставил себе главной задачей.
  6. Или же можно увеличить время в Search input timeout, установив,например, 1000. Будет запрос минимум раз в секунду. В принципе, можно. Следующую обзову 4.5.1
  7. Да. На данный момент ограничить можно только путем запрета использования быстрого поиска для определенных групп. Я гляну, что там пытался сделать автор. Может он и реализовал этот, или может удастся доделать, если нет.
  8. Не уверен, что поможет, но пробуйте. У себя так и не смог воспроизвести ошибку и без этого исправления, регистр не влиял на выдачу. (BIM) Quick Search 4.5.0 (4.7 only) test.xml Что касается этой штуки, то проблема в том, что поиск идет только по конкретной категории (контейнеру) и не учитывает вложенные. Для этого надо их как-то получить id вложенных тем. Я не силен в SQL, но попробую по аналогии с тем, что скидывал мне @Exception в теме про Багтрекер что-то подобрать.
  9. Надо посмотреть код. А там, возможно, и решение найдется. Позже гляну.
  10. Да, если стояла предыдущая версия, то нужно почистить кеш через ctrl-F5, чтобы очистить кешированный JS. В общем, я сейчас переустановил плагин и все работает корректно. Регистр букв не влияет на выдачу. Может при каком-то наборе опций не работает? У меня стоит поиск ИЛИ и в заголовках и контенте.
  11. Zero108 Вообще, это даже не флуд -контроль как таковой. Это так называемое, "Устранение дребезга", debounce. Когда нужно ограничить частоту каких-то действий, тогда и пременяется debounce. В данном случае это отправка поисковых запросов на сервер. Чтобы не делать запрос при вводе каждого символа, даем какое-то время для ввода полного слова. Особенно заметно при быстром наборе текста. А вот как сюда прикрутить полноценный флуд-контроль я не знаю. Точнее, как это должно выглядеть. Ведь при обычно поиске появляется страница, что погоди, не спеши. А как это реализовать в плагине, где маленькое всплывающее окошко.
  12. Да, что-то не так. У меня вовсе не работает. Буду смотреть. В режиме разработчика было норм.
  13. Zero108 Ок, понял. Тогда вырежу. Ломать не строить.
  14. Можно выключить опцию "Show category in search result" и тогда не будет показывать. Правда и у файлов, форумов и т.д. тоже не будет. Или имеется ввиду возможность отключить поиск по пользователям в целом?
  15. Попробую что-нибудь сделать. Может и получится. Я лишь сделал перевод того, что есть. Автор не я, а он сделал так, как есть. Мне бы пример "правильного" файла, чтобы понимать, что требуется. Advanced Search да, можно взять из дефолтных, В принципе, можно глянуть. Основной текст там в админке, возможно удастся и для остальных фраз с сайта подобрать что-то.
  16. Немного доработал плагин. Добавил отправку запроса при изменении режима в поле поиска. Добавил флуд-контроль. Автор пытался его реализовать, но через PHP и не доделал, код закомментирован. По итогу запросы отправлялись при каждом нажатии клавиши в поле поиска. Реализовал флуд-контроль через JS. В настройках добавил опцию для изменения времени ожидания. Стили все же править не стал. Тем много, да и значения переменных у всех разные. Думаю, не проблема поменять стили самим. (BIM) Quick Search 4.5.0 (ips 4.7 only) RUS.xml (BIM) Quick Search 4.5.0 (ips 4.7 only) ENG.xml
  17. Zero108 Я хотел сначала привязать стили к переменным, но что-то у меня не сложилось, и я отложил эту идею. Я сейчас дорабатываю этот плагин, может и стили все же поправлю заодно.
  18. Хороший плагин, но на 4.7.9 не работает. Поэтому решил его адаптировать. Это моя первая работа, так что ошибки очень вероятны. Перевод мой. На версиях ниже 4.7.9 не тестировал. (BIM) Quick Search 4.5.0 (ips 4.7 only) RUS.xml (BIM) Quick Search 4.5.0 (ips 4.7 only) ENG.xml
  19. Zero108 Автор вы? Меня интересует процесс разработки виджетов. Как в Dev режиме заставить их отображаться? В режиме разработчика я не могу никакие виджеты добавить, а установленные не отображаются. Сейчас, чтобы проверить работоспособность, приходится постоянно включать\выключать режим разработчика.
  20. Какую настройку нужно активировать в админке, чтобы это условие сработало? \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'search' ) ) Поиском пользоваться могу.
  21. В форме для создания записи о баге имеются поля: Основное поле, первое, это то, что записывает данные в базу данных, ниже - это доп. контроллер, который через JS меняет значение основного. И так для двух полей. Проблема в том, что хотелось бы отключить возможность изменять значения основных полей вручную. Конечно, я их скрываю, да и вряд ли кто-то будет с этим заморачиваться, чтобы внести некорректные данные. Но все же. Если прописать полям атрибут disabled через $input->options['disabled']=true;, то значения не отправляются с формой, даже если значение стоит. Так уж устроены формы. Можно было бы прописать атрибут readonly, но такого атрибута нет в options! Как так, IPS? Если прописать $input->options['readonly]=true;, то это, естественно, не работает. Я пробовал основным полям ставить тип SelectBox, а потом менять список <options> в шаблоне $input->options['options'] = $arr;, но тогда при сохранении пишет, что значение недопустимо. В общем, как можно запретить редактировать основные поля напрямую?
  22. Разобрался. Нужно было в хуке наследоваться от класса core\modules\front\system\plugins при создании плагина. class hook91 extends _HOOK_CLASS_ { public function getFileVersions() { $result = array( 'data' => \IPS\Db::i()->select('b_version', 'downloads_filebackup', array('b_fileid=?', (int) \IPS\Request::i()->gamefile), 'b_version DESC')); \IPS\Output::i()->json($result); } } В JS коде затем вызывать так: ips.getAjax()(ips.getSetting('baseURL') + 'index.php?app=core&module=system&controller=plugins&&do=getFileVersions&id=3', { type: 'get', }) В ответе получаем: Object { data: (1) […] } data: Array [ "2.0.0" ] 0: "2.0.0" length: 1
  23. Exception По поводу Сделал я такой хук: Как мне его вызвать теперь в JS коде? Вот так, например: ips.getAjax()( ips.getSetting('baseURL') + 'index.php?app=cms&module=database&controller=ajax&do=makeFurl', { type: 'get', } )
  24. Чтобы иметь возможность получить доступ к настройкам плагина в JS файлах, нужно в шаблон HTML, который использует контроллер из JS файла, добавить строку: {{\IPS\Output::i()->jsVars['ваша_переменная'] = \IPS\Settings::i()->ваша_настройка_из_плагина;}} Тогда в JS файле мы сможем получить значение: console.log('setting value: ', ips.getSetting('ваша_переменная'));
  25. Нашел еще способ. Можно изменить массив $input->rowClasses. Например, $input->rowClasses[0]='ipsHide'. Выводим как обычно, {$input|raw}
×
×
  • Создать...