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

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
От поисковых систем страницы скрыл, а вот как от внутреннего (com_search) поиска скрыть? Некоторые страницы пользователи не должны находить. Ограничивать доступ - не вариант.
В настройках компонента/плагина/модуля ничего не нашел. Может быть кто-нибудь решал подобную задачу, поделитесь плз решением
*

AlekVolsk

  • Гуру
  • 6893
  • 403 / 4
Вариант 1й, наиболее простой

1. Заводите допполе, какое-нибудь любое, хоть простое текстовое, с каким-нибудь именем nosearch
2. В нужных вам материалах проставляете в это допполе любое значение, отличное от пустой строки или нуля, это будет говорить о том. что материал не доолжен выводиться в поиске
3. Переопределяете для com_search шаблон вывода результатов поиска defaul_result (если он еще не переопределён в вашем основном шаблоне сайта)
4. В переопределении в самом начале цикла перебора найденных записей (в оригинальном шаблоне сразу после 14й строки) вставляете чтение допполя с именем nosearch и проверяете его значение на пустоту или ноль, если нет (т.е. не пусто или не ноль) - пропускаете итерацию цикла ( ф-ция continue;), тем самым блокируя вывод в поиске нужного материала

Минус: если на странице выводится по 20 найденных записей, то в случае нахождения записей, блокированных от вывода, на странице будет менее 20 записей, а если таких материалов будет много - то и вовсе рискуете получить пустой список


Вариант 2й, для разработчика

1. см п.1 из первого варианта
2. см п.2 из первого варианта
3. Делаем переименованную копию плагина поиска для материалов (/plugins/search/content), оригинал отключаем
4. В новом плагине вставляем в запрос дополнительное условие по проверке наличия у материала допполя nosearch и - в случае нахождения -  его пустого/нулевого значения

Как именно делать копию плага и работать с условиями запроса, разработчику объяснять не надо :)
*

master-smeta

  • Захожу иногда
  • 280
  • 9 / 0
Спасибо. Так и думал, что придется немного покодить. Надеялся что есть какая-нибудь галка типа "материал участвует в поиске", было бы удобно. Но сам такую галку не нашел
*

AlekVolsk

  • Гуру
  • 6893
  • 403 / 4
Надеялся что есть какая-нибудь галка типа "материал участвует в поиске", было бы удобно
да, было бы удобно, но увы, такой галки нет
*

voland

  • Легенда
  • 10669
  • 568 / 111
  • Эта строка съедает место на вашем мониторе
На все хотелки галки не предусмотришь.
Иначе ядро стало бы жутко медленным.

Выше подробно описаны варианты решения, ничего сложного нет
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Стандартный модуль поиска на Joomla 3.9.3

Автор oshaly

Ответов: 6
Просмотров: 459
Последний ответ 10.03.2019, 20:17:46
от oshaly
Транслитерация поиска в админке

Автор MODifikaTOR

Ответов: 1
Просмотров: 120
Последний ответ 07.02.2019, 09:30:12
от khan-alex
Ошибка 500 при добавлении ссылок или изображений в материал

Автор Sergey0606

Ответов: 4
Просмотров: 447
Последний ответ 15.11.2018, 16:00:28
от Sergey0606
Заголовок в результатах поиска некорректный

Автор Maffo

Ответов: 8
Просмотров: 408
Последний ответ 17.08.2018, 09:40:40
от Maffo
com_search - в каком месте админки конфигурация модуля поиска?

Автор x1

Ответов: 2
Просмотров: 312
Последний ответ 14.06.2018, 11:40:26
от x1