evol22
Участники-
Публикации
17 -
Зарегистрирован
-
Посещение
-
Days Won
1
evol22 last won the day on December 17 2013
evol22 had the most liked content!
О evol22
-
Звание
Любопытный
-
Кэтти reacted to сообщение в теме: Как добавить новый язык(language)
-
Спасибо, разобрался)
-
Дмитрий Кондин reacted to сообщение в теме: как создать связи в форме поиска
-
нужно прописать условия поиска в файле template_search.php допустим у нас есть поле balka и я хочу чтоб оно присутствовало в форме поиска и была возможность искать по нему, вот мануал: {ключ~~значение} Ключ - лучше делать числовым значением. Это удобнее и для целостности БД (если вы вдруг поменяете значение "есть" на "что-то другое", а в полях базы так и останутся значения "есть".) Если вам критично иметь осмысленные ключи ТОгда перехват if(''!==$this->getRequestValue('balka')){$params['balka'] = $this->getRequestValue('balka'); // тут не надо (int) - вы перехватываете текст } обработка if(isset($params['balka']) && isset($data_model_array['balka'])){$where_array[]=DB_PREFIX."_data.balka='".$params['balka']."'"; //тут добавляем кавычки вокруг значения, ибо текст, а не число } В случае, если ключи у вас циферки if(0!==(int)$this->getRequestValue('balka')){$params['balka'] = (int)$this->getRequestValue('balka'); // тут приводим к целому - перехватываете число } но тут надо учитывать смысл ключей. Обычно ключ 0 означает отсутствие значения {0~~не указано}{1~~есть}{2~~нет}. Поєтому в зависимости от єти значений нужно принимать решение, какие значения balka из запроса могут считаться таковіми, что поиск по єтому параметру проводить не нужно. И отсекать не по равенству 0, а по какому-то другому принципу. обработка if(isset($params['balka']) && isset($data_model_array['balka'])){$where_array[]=DB_PREFIX."_data.balka=".$params['balka']; //кавычки не нужны, так как число } т.е. файл template_search.php должен иметь такое содержание <?php class Template_Search extends SiteBill { public function getParams(){ $params=array(); if(0!==(int)$this->getRequestValue('balka')){ $params['balka'] = (int)$this->getRequestValue('balka'); } return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; if(isset($params['balka']) && isset($data_model_array['balka'])){ $where_array[]=DB_PREFIX."_data.balka=".$params['balka']; //кавычки не нужны, так как число } return array( 'where'=>$where_array, 'params'=>$params ); } и так каждый параметр поле балка у меня было представлено в селектбоксе с таким параметром {0~~выбрать}{1~~нет}{3~~да} надеюсь кому-то помог)
-
Обновился, исчезла кнопка поиска в форме поиска...
-
спасибо огромное, все равно - ничего не отображается... Помогите плиз!
-
Для поля balka в параметрах в редакторе форм добавил is_ranged = 1, залил вышеприведенный template_search.php ничего не открывается, белое окно... снес template_search.php сайт отображается но поиск не работает... Если можно, выложите уже готовый template_search.php с этими двумя категориями дабы я по аналогии и остальные поля добавил. П.С. По умолчанию работает только поиск по цене, остальных категорий нет, но поиск по площади что-то криво работает... вот и прошу дабы был пример с 2 полями - чтоб можно было ориентируясь на него и остальные править.
-
Здравствуйте! Подскажите пожалуйста, мне нужно добавить возможность описка по полям - "balka" и "square_all" в последнем хочу чтоб искало по промежутку минимум - максимум как в поле цена, по идее я должен сделать template_search.php который будет иметь такой вид <?phpclass Template_Search extends SiteBill { public function getParams(){ $params=array(); if(''!==$this->getRequestValue('balka')){$params['balka'] = (int)$this->getRequestValue('balka');}if(''!==$this->getRequestValue('square_all')){$params['square_all'] = (int)$this->getRequestValue('square_all');} return $params; } public function run(){ $where_array=array(); $params=$this->getParams(); require_once(SITEBILL_DOCUMENT_ROOT.'/apps/system/lib/model/model.php'); $data_model = new Data_Model(); $data_model_array = $data_model->get_kvartira_model(false); $data_model_array = $data_model_array['data']; if(isset($params['balka']) && isset($data_model_array['balka'])){$where_array[]=DB_PREFIX.'_data.balka='.$params['balka'];}if(isset($params['square_all']) && isset($data_model_array['square_all'])){$where_array[]=DB_PREFIX.'_data.square_all='.$params['square_all'];} return array( 'where'=>$where_array, 'params'=>$params ); }} но оно не ищет... что я сделал не так, подскажите пожалуйста на примере. Заранее очень благодарен.
-
Еще вопрос созрел, а как поменять дефолтные цены, например чтоб заканчивалась не на 2 000 000 а на 40 000 вот как на скрине заканчивается на 2 млн, а хотелось бы ее изменить)
-
Подскажите, а как можно редактировать поля в "расширенном поиске", как вариант я хочу часть полей убрать например - "Этажей от" и т.п. и заменить на свои. Заранее очень признателен. или как его вообще удалить... вроде тут надо играться - template/frontend/agency/standart_search_form.tpl
-
Как добавить новый язык(language)
topic ответил в Дмитрий Кондин evol22 в Приложения, модули, настройки
Подскажите, а как удалить английский, чтоб не было возможности выбора, делаю так - /apps/language/admin/admin.php удаляю английский, все равно он в переключателе есть... просто хотел бы оставить только русский язык без возможности выбора. -
Спасибо огромное, подскажите а как в форме поиска реализовать такое - выбор района только одного города. Поле город я убираю, но чтоб не тянуло все районы, а только районы одного города. Заранее огромное спасибо.
-
evol22 reacted to сообщение в теме: Создание форм поиска
-
Еще вопрос, подскажите создал формы поиска с полем цена, в итоге получаем только от... а хотелось бы и от и до и с ползунком, как это реализовать?)
-
evol22 reacted to сообщение в теме: English version создание сайта на двух языках