Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Использование одного поиска для создания меню.

Использование одного поиска для создания меню. 6 года 3 мес. назад #781

  • ComeOn
  • ComeOn аватар
  • Не в сети
  • Модератор
  • Сообщений: 530
  • Спасибо получено: 139
  • Репутация: 37
Хочу поделиться статьей, как можно использовать поиск несколько раз для решения однотипных задач - например, составление меню, где всегда осуществляется поиск по неизменным параметрам, с отличием лишь в одном поле, например названии статьи.
Данное знание значительно сэкономит время создателям сайтов на SEBLOD.
Спасибо.
Использование одного поиска SEBLOD несколько раз
C приветом, Илья.
Veni, Vidi, Vici
Администратор запретил публиковать записи гостям.

Re: Использование одного поиска для создания меню. 6 года 3 мес. назад #830

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 668
  • Спасибо получено: 194
  • Репутация: 66
Илья, спасибо за полезный и содержательный материал.
Хотелось бы его дополнить такой информацией, которая, возможно, многим также значительно сократит время и нервы при создании поиска.
Рассмотрю один единственный пример, однако способов применения данного подхода огромное множество.

Предположим, что в нашем поиске есть поле Article Category ID. Нам нужно вывести в результатах поиска все материалы из какой-то конкретной категории, в зависимости от того, в какой категории мы находимся (вывести модуль с результатами поиска в определенной категории).
Для того, чтобы задать значение для поиска по категории совсем не обязательно указывать в каждом пункте меню в настройках поиска цифровое live значение категории.
Достаточно на поле Article Category ID установить live-параметр на Url->Var(Int) или Url->Var(string) и в поле live прописать имя параметра, значение которого будет подставлено из url в качестве live значения для поиска в наше поле.
Что это значит?
Любой url состоит из ряда запросов, которые определяют, какие именно данные мы запрашиваем (строка запроса).
Например, ссылка на блог категории с id=11 имеет следующий вид (с отключенным SEF)
http://root/index.php?option=com_content&view=category&layout=blog&id=11
Как мы видим, имя параметра здесь "id", значение (цифровое, т.е. Int) - 11.
Таким образом, когда ваша поисковая форма находится на странице, в url которой фигурирует id категории, вы можете в поиске на поле Article Category ID указав Var(Int) и в live значении "id" - формировать различные списки вывода в зависимости от категории, в которой находитесь. И заметьте, вам не нужно вообще настраивать параметры поиска, указывая для каждой отдельной категории live значение - поиск сам получит нужные параметры из url.
С уважением,
Юрий Посохов
www.seblod.pro
Реквизиты для поддержки проекта seblod.pro:
WMR: R244179985703, WMZ: Z130736735723, WME: E359359968529
PayPal: moscowfly(cобаCHка)gmail.сом
Яндекс.Деньги: 410011637395363

Для ваших проектов рекомендую хостинг от Beget! Стабильная работа сайтов Joomla, отличная поддержка. БЕСПЛАТНЫЙ тестовый месяц без ограничений! Регистрируясь по реферальной ссылке Вы также поддерживаете наш проект! http://beget.ru?id=21871
Администратор запретил публиковать записи гостям.
Спасибо сказали: zorojan, greenmar, Leon

Re: Использование одного поиска для создания меню. 6 года 3 мес. назад #924

  • greenmar
  • greenmar аватар
  • Не в сети
  • Давно я тут
  • Сообщений: 110
  • Спасибо получено: 26
  • Репутация: 7
Юрий, спасибо за хороший комментарий к хорошей статье Ильи. Такой вопрос - а если включен SEF?
Администратор запретил публиковать записи гостям.

Re: Использование одного поиска для создания меню. 6 года 3 мес. назад #925

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 668
  • Спасибо получено: 194
  • Репутация: 66
greenmar, должно работать вне зависимости от вкл/выкл SEF.
С уважением,
Юрий Посохов
www.seblod.pro
Реквизиты для поддержки проекта seblod.pro:
WMR: R244179985703, WMZ: Z130736735723, WME: E359359968529
PayPal: moscowfly(cобаCHка)gmail.сом
Яндекс.Деньги: 410011637395363

Для ваших проектов рекомендую хостинг от Beget! Стабильная работа сайтов Joomla, отличная поддержка. БЕСПЛАТНЫЙ тестовый месяц без ограничений! Регистрируясь по реферальной ссылке Вы также поддерживаете наш проект! http://beget.ru?id=21871
Администратор запретил публиковать записи гостям.

Re: Использование одного поиска для создания меню. 6 года 2 дн. назад #1746

  • Leon
  • Leon аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 47
  • Спасибо получено: 1
  • Репутация: 0
Возможно ли создать один универсальный поиск для вывода контента из разных категорий. Например категория "недвижимость", соответственно выводится недвижимость и категория "авто", соотв выводится авто. Вот такая ссылка получается (в поиске catid - default, live value указываю какую-нибудь одну категорию)

index.php?option=com_cck&view=list&search=show_firm&task=search&Itemid=117

где itemid это id пункта меню и никак с категорией не связано, кроме как через list&search, в котором соответственно указываю одну категорию.

Видно, что в url нет id категории.
Администратор запретил публиковать записи гостям.

Re: Использование одного поиска для создания меню. 6 года 1 день назад #1757

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 668
  • Спасибо получено: 194
  • Репутация: 66
Leon, если ты размещаешь модуль поиска в какой-либо категории (блог категории, список материалов категории), то при добавлении в поиск поля Article category Id c live(int)->id ты получишь id категории в live значение. Пример ссылки страницы категории:
index.php?option=com_content&view=category&id=17&Itemid=106
id - id категории;
Itemid - id пункта меню;
Если вы размещаете модуль на странице материала, то ссылка материала выглядит иначе:
index.php?option=com_content&view=article&id=12:art1&catid=17&Itemid=109
где уже
id - id материала;
catid - id категории;
Соответственно здесь уже live(int) в поиске для категории должен быть прописан как catid

Если рассмотреть ссылку, которую ты приводишь (ссылку на страницу поиска)
index.php?option=com_cck&view=list&search=show_firm&task=search&Itemid=117
В случае если у тебя в поиске есть поле Article category id с live значением id, то добавив к своей ссылке
&id=id_нужной_категории
, т.е. ссылка будет выглядеть след. образом, если нужно найти материалы в категории с id 11
index.php?option=com_cck&view=list&search=show_firm&task=search&Itemid=117&id=11

В зависимости от ситуации используйте нужные live значения.
С уважением,
Юрий Посохов
www.seblod.pro
Реквизиты для поддержки проекта seblod.pro:
WMR: R244179985703, WMZ: Z130736735723, WME: E359359968529
PayPal: moscowfly(cобаCHка)gmail.сом
Яндекс.Деньги: 410011637395363

Для ваших проектов рекомендую хостинг от Beget! Стабильная работа сайтов Joomla, отличная поддержка. БЕСПЛАТНЫЙ тестовый месяц без ограничений! Регистрируясь по реферальной ссылке Вы также поддерживаете наш проект! http://beget.ru?id=21871
Администратор запретил публиковать записи гостям.
Спасибо сказали: Leon

Re: Использование одного поиска для создания меню. 6 года 6 ч. назад #1761

  • Leon
  • Leon аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 47
  • Спасибо получено: 1
  • Репутация: 0
Спасибо за разъяснения livов, разобрался с ними. Сделал так:

1. Поля в форме поиска:
1.1 CCK - Live (Default) - Live Value (моя Form)
1.2 Article Categori Id (catid) - Live (Default) - Live Value (пусто)

2. Пункт меню - Тип пункта меню (List & Search) - Выбираю свой Search type (List) - перехожу в Advanced options CCK - в Live + variation Article category id выставляю id (цифру) нужной мне категории.
Итак, каждому пункту меню ставлю соответствующий id категории.

Проверил, вроде все работает. С Live Url так и не получилось, не разобрался как затолкнуть в мою ссылку index.php?option=com_cck&view=list&search=show_firm&task=search&Itemid=117 id категории.

Да и немного отступлю от темы, возможно ли сделать поле (пример): "Срок публикации - одна неделя, две недели, месяц", используя Date (Math)
http://www.old.sebloders.ru/forum/8-polya-i-plaginy/1307-date-match-ne-mogu-zastavit-rabotat
Администратор запретил публиковать записи гостям.

Re: Использование одного поиска для создания меню. 5 года 11 мес. назад #1791

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 668
  • Спасибо получено: 194
  • Репутация: 66
Leon, если пункты меню с блогом категорий созданы и привязаны к меню,
расположив поиск в нужной категории (пункте меню) и и установив заранее live (int)->id в настройках поиска - id категории должно будет подставится автоматически.
Что касается поля calendar - можно вполне обойтись без поля date (match) - как оказалось оно совсем бесполезное)
В live значении поля calendar можно использовать следующие конструкции (там где +- стоит, значит можно либо то, либо другое, n - любое целое число):
+-1 dayизменить дату на 1 день
+-n daysизменить дату на n дней
+-1 weekизменить дату на 1 неделю
+-n weeksизменить дату на n недель
+-1 yearизменить дату на 1 год
+-n yearsизменить дату на n лет
yesterdayвчера
NOWТекущий момент
Все комбинации можно сочетать между собой.
Обычно используются совместно с NOW.
Например, чтобы установить окончание срока публикации статьи на 2 недели нужно в live поля publish_down добавить NOW +2 weeks
С уважением,
Юрий Посохов
www.seblod.pro
Реквизиты для поддержки проекта seblod.pro:
WMR: R244179985703, WMZ: Z130736735723, WME: E359359968529
PayPal: moscowfly(cобаCHка)gmail.сом
Яндекс.Деньги: 410011637395363

Для ваших проектов рекомендую хостинг от Beget! Стабильная работа сайтов Joomla, отличная поддержка. БЕСПЛАТНЫЙ тестовый месяц без ограничений! Регистрируясь по реферальной ссылке Вы также поддерживаете наш проект! http://beget.ru?id=21871
Последнее редактирование: 5 года 11 мес. назад от admin.
Администратор запретил публиковать записи гостям.
Спасибо сказали: ComeOn, Leon

roundtheme