Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 572 Просмотров
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Здравствуйте, есть сайт, у сайта есть раздел новостей который реализован через свой компонент, подскажите пожалуйста, как сделать этот раздел индексируемым стандартными средствами Joomla.
*

sivers

  • Живу я здесь
  • 2465
  • 336 / 0
Написать плагин группы search и в нем реализовать. Он получает искомое слово/фразу и должен выдать список результатов, которые потом отобразятся на странице результатов поиска. Сделайте по аналгии с имеющимеся плагинами, которые лежат тут: /plugins/search/.

Дополнение:
Фактически это группа Contnent, но (для удобства видимо) вынесенная в отдельную директорию. Используется там всего 2 обработчика:
https://docs.joomla.org/Plugin/Events/Content#onContentSearch
https://docs.joomla.org/Plugin/Events/Content#onContentSearchAreas
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
А можно пример на своем компоненте? просто не понятно, все не понятно.
*

sivers

  • Живу я здесь
  • 2465
  • 336 / 0
А можно пример на своем компоненте? просто не понятно, все не понятно.
Стандартным поиском Joomla не пользуюсь, потому и плагины такие пишу редко. Но где-то на клиентских сайтах были.
Для примера откройте плагин поиска в контактах (/plugins/search/contacts/contacts.php). Если осилили написание компонента, то уж с этим плагином разберетесь.
Первая функция (метод) onContentSearchAreas() просто отдает название вашего компонента. Чтоб фильтр на сайте мог предложить поиск среди объектов вашего компонента.
Второй же метод onContentSearch($text, $phrase = '', $ordering = '', $areas = null) возвращает резултаты поиска. Аргументы там расписаны на английском, но могу и примерный перевод дать:
$text - поисковая строка (то, что запросил юзер в поиске)
$phrase - способ поиска, когда слов в тексте несколько. Может иметь одно из значений exact|any|all, т.е. точное совпадение|любое слово|все слова - это вам надо учитывать при составлении запроса к БД
$ordering - выбранный способ сортировки (возможные варианты там расписаны)
$areas - выбранные места поиска. Ваш плагин будет вызван, даже если юзер не выбирал поиск в вашем компоненте. Поэтому надо сперва проверить указан ли в этом массиве ваш компонент. Если его нет, то искать ничего не нужно - просто выйти.

Далее разбор самого запроса можете пропустить, если нет охоты разбираться. Напишете свой запрос. В самом конце функции, перед строчкой return $rows; добавьте строку print_r($rows);, включите плагин и сделайте поиск по контактам. Увидите, в каком формате должны быть строки, которые возвращаются как результат. Ваша задача - согласно входящим аргументам сформировать и вернуть строки в этом же формате, взятые из вашего компонента.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Что хранится в таблице overrider Joomla 3?

Автор web1

Ответов: 2
Просмотров: 224
Последний ответ 04.04.2024, 22:10:48
от web1
Шорткоды baforms в кастомном компоненте

Автор oxbeat

Ответов: 2
Просмотров: 305
Последний ответ 20.02.2024, 00:41:29
от oxbeat
reCAPTCHA V2 Google - Для Joomla 3

Автор Alex GOOD

Ответов: 35
Просмотров: 8352
Последний ответ 10.01.2024, 21:41:38
от Vastriet
Joomla 3.10.12 и MySQL 8

Автор designer71

Ответов: 0
Просмотров: 401
Последний ответ 19.10.2023, 11:25:18
от designer71
Почему Joomla не поддерживает формат webp?

Автор Sensession

Ответов: 74
Просмотров: 10672
Последний ответ 03.10.2023, 19:44:42
от fsv