Поиск на сайте. Компоненты для поиска по умолчанию.

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Как задать умолчания для поиска на сайте?

#1 13 июня 2015 в 18:26
Поиск по сайту работает достаточно корректно и все, что нужно находит.
Но! Есть надобность, чтобы по умолчанию поиск производился только в одном типе контента и только потом, если пользователь расставит чекбоксы, искать в других местах.

То есть по умолчанию есть такая конфигурация:



Надо, чтобы было так:



Чтобы пользователи могли продолжить поиск в других компонентах, если им так надо.
#2 15 июня 2015 в 20:25
Какая ветка?
#3 15 июня 2015 в 20:47
1.10.6
#4 15 июня 2015 в 21:12
В файле /templates/_default_/components/search_text.tpl замените в {foreach key=tid item=enable_component from=$enable_components}
  1. <input name="from_component[]" onclick="toggleInput('l_{$enable_component.link}')" type="checkbox" value="{$enable_component.link}" {if in_array($enable_component.link, $from_component) || !$from_component}checked="checked"{/if} />
на
  1. <input name="from_component[]" onclick="toggleInput('l_{$enable_component.link}')" type="checkbox" value="{$enable_component.link}"{if $enable_component.link == 'content'}checked="checked"{/if} />
Вместо 'content' поставьте нужный для поиска компонент.
#5 15 июня 2015 в 23:57
Lora,
Спасибо, заработало!

Теперь как бы еще сделать, чтобы оно сразу из формы поиска искало только в одном компоненте.
Возможно я не слишком правильно сформулировал мысль. Мне нужно, чтобы еще из строки поиска на сайте, сначала искало только в одном компоненте, а уже потом, при желании пользователя — в остальных.

Пока чекбоксы убрались, но ищет по умолчанию везде

А вообще наверное, вместо сложной многуступенчатости поиска проще будет сделать два поиска. Один ищет только в анекдотах, а другой во всем остальном. И вместо чекбоксов сделать в шаблоне одну кнопку перехода к расширенному поиску.

Lora,
Еще раз огромное спасибо за помощь и за идею! v
#6 16 июня 2015 в 00:35
Не знаю, у меня ищет там где отмечено. Проверьте внимательно. Если 'content', то в статьях, если 'blogs', в блогах, и т.д.
#7 16 июня 2015 в 09:17
Lora,

Сделана форма поиска на сайте.



Вот из нее ищет везде. После открытия полной формы поиска, если нажать поиск еще раз — да, ищет только там, где надо.
#8 16 июня 2015 в 10:37
Ну, блин, HiAndy, Ваш поиск это модуль, а общий-компонент.Внесите изменения в шаблон модуля mod_search.tpl так же как и в компоненте.
#9 16 июня 2015 в 20:19
Lora,

Увы, это не модуль, а просто форма вписанная прямо в template.php шаблона вот так:


  1. <form class="form-wrapper" action="/search" method="GET" enctype="multipart/form-data" style="clear:both">
  2. <input id="search" name="query" placeholder="Поиск на сайте..." required="" type="text" >
  3. <input value="Поиск" id="submit" type="submit" onclick="document.searchform.submit()"/">
  4. </form>
В общем не придумал ничего умнее, кроме как добавить туда скрытое поле ввода типа компонента для поиска:


  1. <form class="form-wrapper" action="/search" method="GET" enctype="multipart/form-data" style="clear:both">
  2. <input id="search" name="query" placeholder="Поиск на сайте..." required="" type="text" >
  3. <input type="hidden" name="from_component[]" value="anec">
  4. <input value="Поиск" id="submit" type="submit" onclick="document.searchform.submit()"/">
  5. </form>
Теперь все работает как надо.
Огромное спасибо за помощь!
#10 16 июня 2015 в 20:51
Пожалуйста. smileИ если всё, закройте тему.
#11 16 июня 2015 в 21:14
Lora,

Ну, если закрытие темы чем-то кому-то поможет, закрываю тему. smile
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.