Страница 1 из 1

Изменение формы добавления объявления + поиск

СообщениеДобавлено: 03 окт 2013, 14:06
gpu89
Всем привет. Дело вот в чём. Нужно для недвижимости конкретного типа добавить выпадающий список и пару текстовых полей в форму добавления объявлений в админке. Все значения будущего выпадающего списка хранятся в отдельной таблице в бд, в таблице же appartments добавлено поле, хранящее id того или иного значения из этого списка. Нужно чтобы из новой таблицы формировался выпадающий список, который будет отображаться в форме добавления объявления только если добавляется объявление конкретного типа. Понимаю что объём работ не маленький и не прошу расписывать весь код, прошу только направить меня по нужному пути. Где и примерно как формируется форма добавления объявления и где задавать условия, при которых выводятся/не выводятся те или иные поля? Как (где) сделать выпадающий список из новой таблицы в бд? И последнее, не менее важное - где формируется фильтр (форма поиска объявления на сайте)? Так как в этот фильтр нужно будет добавить тот самый выпадающий список, чтобы он участвовал в поиске, а некоторые другие поля - отключить (для конкретного типа объявлений). Просьба подсказать хотя бы примерно, дело срочное. Заранее спасибо.

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 03 окт 2013, 14:51
Foton
Это довольно объёмная доработка, объяснять такое по трудоёмкости не сильно меньше, чем сделать :) Можете обратиться через форму контактов и мы дадим оценку такой доработки.

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 03 окт 2013, 17:01
gpu89
Скажите хотя бы как сделать поле, присутствующее в форме добавления объявлений разного типа, обязательным "тут", но необязательным "там". Если не трудно.

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 04 окт 2013, 10:07
Foton
Ну тут есть два варианта, либо использовать для разных типов разные сценарии валидации, либо создать для этого поля собственный валидатор, что, на мой взгляд, проще.
Про валидаторы в Yii можно почитать тут

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 04 окт 2013, 10:57
gpu89
Благодарю покорно =))) Последний вопрос. Как организовать выпадающий список? Точнее где примерно копаться. Как я уже писал выше, под сам список создана отдельная таблица в бд, которая хранит как значения, так и id каждого элемента списка (пусть для примера это будут города - Москва id 1, Питер id 2 и так далее). В таблице appartments добавлено поле, которое должно содержать id "города", к которому относится объявление. Список "городов" нужно вывести в форму добавления объявления. При добавлении объявления id выбранного "города" идёт в appartments, но выбирать-то надо не из списка айдишников, а из списка значений (названий "городов" из отдельной таблицы). Мне бы примерно понять принцип - дальше уже разберусь.

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 04 окт 2013, 12:03
Foton
Попробуйте посомтреть вот тут

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 04 окт 2013, 12:23
gpu89
А на русском случайно нету? :(

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 04 окт 2013, 14:42
Xpycm

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 14 окт 2013, 13:36
gpu89
Всё получилось, спасибо. Остался лишь вопрос с поиском. Вот я добавил новый тип недвижимости, с помощью условий if-else подкорректировал для него форму добавления объявлений (многие поля убрал, пару-тройку добавил). Всё нормально, объявление добавляется, все поля идут в базу и информация корректно отображается на странице объявления, но в списке объявлений они (объявления нового типа) не отображаются. Возможно где-то в модели есть список параметров, которые должны быть заполнены, чтобы объявление отображалось при поиске? А так как ряд полей убраны из формы добавления, то при создании объявления они не заполняются, а они, видимо, нужны, чтобы объявление искалось... Где это можно изменить? Где находится список необходимых для поиска параметров или в чём ещё может быть проблема? Спасибо.

Re: Изменение формы добавления объявления + поиск

СообщениеДобавлено: 15 окт 2013, 13:41
Koduc
Посмотрите в /protected/modules/apartments/helpers/apartmentsHelper.php - там формируются доп.условия.
Можете вставить что-то типа
Код: Выделить всё
echo "<pre>";
print_r($criteria);
echo "</pre>";
exit;
 

чтобы посомтреть, что там получается условиях

При поиске форммируются условия в /protected/modules/quicksearch/controllers/MainController.php, метод actionMainsearch. Там тож формируется $criteria, которая в конечном итоге передается в файл, что я указал выше