Leaderboard
Popular Content
Showing content with the highest reputation on 11/11/15 in all areas
-
1 pointэти условия следует формировать так if([если перехвачен параметр по которому происходит поиск] И [в текущей модели data есть активное поле по которому происходит поиск]){ тогда описываем условие поиска}если ищем по полю date_added, то if(isset($params['date_from']) && isset($data_model_array['date_added'])){ $where_array[]='('.DB_PREFIX.'_data.date_added>=\''.$params['date_from'].'\')';}$params['date_from'] стоит заключать в кавычки в выражении, так как оно скорее текстовое. А в перехвате из запроса нужно гарантирвано приводить date_from к нужному виду if(preg_match('/^(\d\d\d\d-\d\d-\d\d)$/', $this->getRequestValue('date_from'))){ $params['date_from']=$this->getRequestValue('date_from');}
-
1 pointПоиск по дате. Поля я добавил. Думаю сориентируетесь. Изменения в local_kvartira_search.php и двух файлах форм поиска - advanced и standart. Вам остается прописать в темплейт_сеарч условия поиска по ним и подправить стили на элементах формы. ПС. В принципе движек умеет обрабатывать аналогичные поля, но вот только не умеет их перехватывать сам из запроса. По типу добавившего там же добавил поле add_by
-
1 pointтакс))) ваши желания опережают мои возможности))) Тип photo используется и обрабатывает исключительно в контексте модели user. Прикреплять его куда либо, кроме нее не имеет смысла. Это очень древнее поле. Я сейчас разрабатываю отдельный элемент под подобные цели, который можно будет использовать в любых моделях. Если есть необходимость хранить фотку владельца в данных объявления, лучше пока использовать поле типа uploads. они явно избыточны, но применимы в любом объекте.
-
1 point1) каждый функционал имеет два аспекта - внутренний (сбор данных для карты, который относится к высоконагруженным операциям) и внешний (рисование собранных данных в шаблоне). Часть настроек регулирует именно внутренний аспект. Т.е. его можно включить или выключить, но шаблон сам решает куда и когда выводить собранные данные если они есть. Поскольку "карта на главной" это опция, которая присуща далеко не каждому шаблону в силу особенностей дизайна, то ее вывод может потребовать некоторых трудозатрат. 2) дальше влияет само понятие "главная страница". Сам по себе этот признак абстрактный и может обозначать разные вещи в рамках разных концепций. Поэтому и все штучки связанные с "главной страницей" могут управляться именно логикой шаблона. В данный момент основным признаком главной является - пустой урл и отсутствие GET-переменных запроса. Для массы случаев это подходит, но ни в коем случае не является единственно правильным решением. 3) другой вариант отображения не всегда ок. Они весьма различны друг от друга и переключение между ними может слишком сильно изменить логику "главной" страницы. Другими словами эти режимы предназначены для первичного выбора вида отображения, а не для регулярных переключаний между ними. Для запущенного сайта вообше имеет смысл зачищать шаблон от неиспользуемых отображений и шаблонов, что бы сократить количество условий в шаблонах. 4) но если до этого момента шаблон был запущен в режиме "без главной", так называемый classic, то переключение в режим отображения одной из "главных" страниц типа slider или map изменит входную страницу до неузнаваемости. Грубо говоря имеет смісл переключаться между однотипными режимами, но не между принципиально разными. Тут принципиально неверный подход. На текущем режиме отображения на вашем сайте нет смысла включать или выключать карту на главной, поскольку главная страница представляет собой просто одну из страниц листинга. Но так как там есть еще вторая настройка "Выводить карту со списком", которая включена, то карта выводилась у вас естественно на каждой страниц на который присутствовал хоть один элемент с указанными геокоординатами. Я сделал следующее. Поскольку на этом режиме гпризнак главной страницы не устанавливается и для вывода используется стандартный шаблон листинга, то в /main/main.php в 582 строке при условной нахождении на главной (см. выше пункт 2) я указал шаблону метку $this->template->assert('homepage', 1);после этого в шаблоне самого листинга /realty_grid.tpl все строки {if $geodata_show_grid_map==1},которые управляют выводом карты со списком, я дополнил еще одним условием {if $geodata_show_grid_map==1 && intval($homepage)!==1}и теперь оно проверяет не только нужность вывода карты, но и момент нахождения на главной, при попадании в которое карта не рисуется. это не совсем верное решение, но в данном случае действенное. Для возврата к штатному поведению, достаточно в /main/main.php удалить 582 строку.