Поиск по словам в объявлении

Вопросы и ответы по изменению функционала, смене дизайна, переносу сайта и т.п.

Модераторы: Xpycm, Koduc

Правила форума
ВНИМАНИЕ! Форум не является средством гарантированной поддержки клиентов и пользователей. Поэтому на быстрый ответ тут рассчитывать не нужно, как и на ответ вообще. Сотрудники отвечают по мере своих возможностей.

На форуме действует ограничение в 3 сообщения / сутки.
Если Вы хотите сказать "спасибо", то воспользуйтесь функцией "Повысить репутацию" - зелёная иконка "плюс" под ником ответившего.

Поиск по словам в объявлении

Сообщение lomuk » 07 фев 2014, 10:48

Подскажите как сделать поиск по словам из объявлений ( описание, заголовок ).
Спасибо
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Поиск по словам в объявлении

Сообщение Xpycm » 07 фев 2014, 12:25

На форму поиска добавляете поле:
Код: Выделить всё
CHtml::textField('name', 'value'); 


В файле protected\modules\quicksearch\controllers\MainController.php добавляете типа такого кода:
Код: Выделить всё
$name = CHtml::encode(strip_tags(Yii::app()->request->getParam('name')));
if ($name) {
    $criteria->addSearchCondition('title_'.Yii::app()->language, $name, true);
}
 


Как-то так.
Аналогично с другими полями объявления.
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Поиск по словам в объявлении

Сообщение lomuk » 07 фев 2014, 12:58

вывел, появилось поле
Снимок2.PNG
Снимок2.PNG (27.9 КБ) Просмотров: 5747


но вот итог
Снимок.PNG
Снимок.PNG (32.24 КБ) Просмотров: 5747
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Поиск по словам в объявлении

Сообщение lomuk » 07 фев 2014, 13:06

В какую ф-цию добавлять
Код: Выделить всё
$name CHtml::encode(strip_tags(Yii::app()->request->getParam('name')));
if (
$name) {
    
$criteria->addSearchCondition('title_'.Yii::app()->language$nametrue);
}  
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Поиск по словам в объявлении

Сообщение Xpycm » 07 фев 2014, 14:04

actionMainSearch
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Поиск по словам в объявлении

Сообщение lomuk » 07 фев 2014, 17:14

Xpycm писал(а):actionMainSearch

Плюется...

 
Код: Выделить всё
Fatal error: Call to a member function addSearchCondition() on a non-object in /var/www/test/data/www/test.odessa-dom.com.ua/protected/modules/quicksearch/controllers/MainController.php on line 77
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Поиск по словам в объявлении

Сообщение Xpycm » 07 фев 2014, 17:30

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

Нужно вставлять после:
Код: Выделить всё
$criteria = new CDbCriteria

, а не до.
Dropbox
Open Real Estate CMS: FAQ | FAQ 2 | FAQ 3
Изображение
Xpycm
Разработчик
Разработчик
 
Сообщения: 1592
Зарегистрирован: 30 дек 2011, 11:06
Откуда: Йошкар-Ола
Очки репутации: 50

Re: Поиск по словам в объявлении

Сообщение lomuk » 07 фев 2014, 17:37

Тыкал уже в разные места, но либо ошибка либо выводит без учета указанного текста

http://test.odessa-dom.com.ua/search?name=вилково&country=0&apType=0&objType=0&price=&roomsMin=0&roomsMax=15&squareMin=0&squareMax=1900&floorMin=0&floorMax=30
http://odessa-dom.com.ua - На Open Real Estate Pro
lomuk
Гражданин
Гражданин
 
Сообщения: 164
Зарегистрирован: 13 сен 2013, 09:42
Очки репутации: 0

Re: Поиск по словам в объявлении

Сообщение fisher » 10 фев 2014, 11:09

http://test.odessa-dom.com.ua/search?name=вилково&country=0&apType=0&objType=0&price=&roomsMin=0&roomsMax=15&squareMin=0&squareMax=1900&floorMin=0&floorMax=30

на этой странице поле name никак не участвует в поиске, надо смотреть в коде. Так сказать сложно.
fisher
Разработчик
Разработчик
 
Сообщения: 285
Зарегистрирован: 15 апр 2013, 09:25
Очки репутации: 8


Вернуться в Вопросы и помощь по изменениям

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 71