infected1992

Добавить новые поля в standart_search_form.tpl

Recommended Posts

Как добавить новые поля в форму поиска /template/frontend/agency/standart_search_form.tpl ? Я Создал новые поля в редакторе форм и хотелбы добавить поиск по ним. 

Перечислите пожалуйста стандарт для добавления checkbox, select, <input type="text"> полей

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И не хочу использовать в редакторе форм построение новых форм поиска так, как эти формы не осуществляют поиск, если хотя-бы одно поле не заполнено. А standart_search_form.tpl, исполняет поиск такого рода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стандарта нет. Новые поля нужно точно также прописывать в коде. Хоть для стандартной формы, хоть для расширенной.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стандарта нет. Новые поля нужно точно также прописывать в коде. Хоть для стандартной формы, хоть для расширенной.

Напишите хотя-бы пример добавления новых полей в расширенный поиск

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Перечислите пожалуйста стандарт для добавления checkbox, select, <input type="text"> полей

 

HTML5. Вот и весь стандарт.

 

Отличие standart_search_form от автогенерированной кодом на основании модели заключается в:

1. Во втором случае разметка для элементов формы генерируется автоматически, тогда как в первом ее надо, по большей мере, писать самому.

2. Первая более гибкая для привязки всяких сриптов и других фич - например скрытие группы элементов поиска в зависимости от какого-то переключателя. Со второй - это сложнее.

3. Больше возможностей по дизайнингу. Так как форму вы компонуете сами, то вольны свободно размещать элементы, что очень проблематично во втором случае.

4. Накидать второй вариант быстрее, чем первый.

 

Общее. Как описано выше - организацию поиска по "неуставному" полю придется прописывать в обеих случаях.

 

Как натыкать элементы в форму?

 

Если элемент простой и не охота заморачиваться, то просто в коде шаблона пишем его разметку. Например хотим искать по полю номер квартиры (в модели flat_number). Значит ставим

<input type="text" name="flat_number" />

Все. Элемент формы есть. Естественно в нем нужно предусмотреть "запоминание" значения, как когда нажали искать, поиск произошел, а в поле указан параметр по котому искали. Например (исключительно для понятия):

<input type="text" name="flat_number" value="{$smarty.get.flat_number}" />

Если делать по уму и правилам, тогда наследуем класс формы поиска, как здесь http://www.etown.ru/s/topic/241-добавить-новые-поля-в-поиск/?p=2741 и в нем генерируем нужные нам блоки разметки для нужных элементов. Из плюсов - мы получаем готовую разметку с запоминанием. Из минусов - мы теряем некоторое управление над этими кусками из за их "самостоятельности" при создании.

 

Для генерирования элементов используются методы

$this->template->assert('placeholder_element', $form_generator->placeholder_generator($kvartira_model['data']['element']));

Т.е. использовав метод placeholder_generator() с аргументом элемента модели, вы в шаблоне, в {$placeholder_element} получим разетку.

 

Тип элемента модели Соотв. ф-ция placeholder_generator

safe_string = функции как таковой нет. придется делать разметкой.

select_by_query = get_single_select_box_by_query

select_box = get_select_box

checkbox = get_checkbox

 

В кратце как-то так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите пожалуйста как можно сделать поле поиска по ключевому слову?

Пока только в админке есть поиск по Слову.

Скоро сделаем обновление для модуля быстрого поиска, там по слову ищет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пока только в админке есть поиск по Слову.

Скоро сделаем обновление для модуля быстрого поиска, там по слову ищет.

Либо прописывать в функциях доп поле по конкретному полю?!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Либо прописывать в функциях доп поле по конкретному полю?!

Да, вот по этой инструкции

http://wiki.sitebill.ru/index.php?title=%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас