abushyk

Модераторы
  • Публикации

    4036
  • Зарегистрирован

  • Посещение

  • Days Won

    269

Изменения репутации

  1. Like
    abushyk получил репутацию от mas в Шаблон Realia   
    на моей памяти, как минимум 3 сайта, активно используют эти параметры. Не все же работают на СНГ.
    Практически невозможно предугадать какие параметры выберет пользователь ключевыми, соответственно так же сложно предугадать какой вывод ему понадобится. Особенно учитывая то, что сайтбилль разрешает вводить свои поля в структуру объявления. Именно поэтому мы в первую очередь стараемся подогнать базовые части, такие как сетка\просмотр, оставляя менее популярные до момента уточнения с конкретным пользователем.
  2. Like
    abushyk получил репутацию от keks в Шаблон Realia   
    if(preg_match('/^user(\d+).html/', $REQUESTURIPATH, $matches)){
                $this->setRequestValue('user_id', (int)$matches[1]);
                $this->template->assert('main', '<p><br></p>'.$this->grid_adv());
                $work_subcontroller='realtygrid';
    } elseif( $this->getRequestValue('do') == 'news' ) {
    .......
  3. Like
    abushyk получил репутацию от TopRaN в Шаблон Realia   
    Это уже надо системные файлы трогать - так что вариант самый последний)))
  4. Like
    abushyk получил репутацию от TopRaN в Новый вид сетки объявлений   
    Рассмотрим ситуацию для шаблона Realty.
     
    Перед всеми экспериментами - дампить меняемые файлы. Обязательно.
     
    Исходные данные:
    1. имеем локальный файл конструктора сеток /template/frontend/realty/main/grid_constructor_local.php
    2. Имеем желание править под себя шаблон вывода /template/frontend/realty/realty_grid_list.tpl
     
    Предусловия.
    Статус может задаваться полем типа select_by_query или select_box.
    Для того, что бы что-то вывести, это что-то надо отправить в шаблон.
    Для того, что бы как-то выделить конкретный статус, надо как-то отметить строку с объявление, которая владеет этим статусом.
    Статус можно отправить либо значение, либо ключем и при определении вида статуса в шаблоне ориентироваться именно на переданное значение.
     
    Поехали.
    Мы ленивы, но практичны. Полагая, что имена статусов могут меняться (Опубликовано -> Опубл.) в силу разных причин, но ключи будут меняться реже, будем ориентироваться на ключи. Что в select_by_query , что в select_box каждое значение имеет ключ-идентификатор. Обычно это число.
    Из запроса данные выбираются именно ключами $grid_item.status_of_adv будет исхдно равно 1,2,0 или еще чему-нибудь.
    Приводим к текстовому значению.
     
     /template/frontend/realty/main/grid_constructor_local.php строка 725 добавляем блок
    $_model=$data_model->get_kvartira_model(false, true);foreach($_model['data'] as $k=>$v){if($v['type']=='select_box'){if(isset($_model['data'][$k]['select_data'][$ra[$item_id][$k]])){$ra[$item_id][$k]=$_model['data'][$k]['select_data'][$ra[$item_id][$k]];}else{$ra[$item_id][$k]='';}}}  
    Тут ничего необычного. По сути приведение локального конструктора к актуальному виду. Этот блок проходится по модели и все числовые значение элементов типа select_box приводит к их текстовым эквивалентам.
    Так как нам нужно еще и числовое значение, для идентификации статуса, то перед этим  блоком делаем запоминание.
    if(isset($ra[$item_id]['status_of_adv'])){$ra[$item_id]['_mem_status_of_adv']=$ra[$item_id]['status_of_adv'];} Теперь в шаблоне получить числовое значение для статуса можно как $grid_item._mem_status_of_adv
    а текстовое как $grid_item.status_of_adv
     
    Но если у нас не select_box, а select_by_query то чуть віше вставленного блока есть комплект инициализаторов таких полей

    if ( $item_array['street_id'] > 0 ) { $ra[$item_id]['street'] = $data_model->get_string_value_by_id('street', 'street_id', 'name', $item_array['street_id'], true);} и в таком же духе.
     
    Тогда делаем копию одного из них и меняем 
    if ( $item_array['status_of_adv'] > 0 ) {$ra[$item_id]['_mem_status_of_adv']=$ra[$item_id]['status_of_adv']; //тут мы тоже запоминаем числовое значение$ra[$item_id]['status_of_adv'] = $data_model->get_string_value_by_id('имя таблицы в которой хранятся статусы', 'имя первичного ключа таблицы статусов', 'поле из таблицы статусов, которое содержит текстовое значение названия статуса', $item_array['status_of_adv'], true);} Аналогично получаем в шаблоне значения через
    $grid_item._mem_status_of_adv и  $grid_item.status_of_adv
     
    Теперь идем в шаблон.
    Там, где у нас должен быть вывод имени статуса вставляем {$grid_item.status_of_adv}
    Далее, в зависимости от разметки. Например вывод строками таблицы в виде 
     
    {section name=i loop=$grid_items}
    <tr valign="top" class="row3{if $grid_items[i].bold_status==1} grid_table_bold{/if}{if $grid_items[i].premium_status==1} grid_table_premium{/if}" {if $grid_items[i].active == 0}style="color: #ff5a5a;"{/if}> Делаем
    <tr valign="top" class="row3 advstatus{$grid_item[i]._mem_status_of_adv}{if $grid_items[i].bold_status==1} grid_table_bold{/if}{if $grid_items[i].premium_status==1} grid_table_premium{/if}" {if $grid_items[i].active == 0}style="color: #ff5a5a;"{/if}> В результате мы получаем для каждой строки таблицы дополнительный класс вида advstatusN, где N - числовое значение статуса данного объявления.
    После этого пишем css правила вида
    .advstatus0 {/*стили*/}.advstatus1 {/*стили*/}.advstatus2 {/*стили*/} такой способ хорош если нужны все статусы или их очень много. Но для малого количества и большей гибкости можно создавать классы более осмысленно
    <tr valign="top" class="row3{if $grid_item[i]._mem_status_of_adv==1} usual_adv{elseif $grid_item[i]._mem_status_of_adv==2} extremally_interesting{/if}{$grid_item[i]._mem_status_of_adv}{if $grid_items[i].bold_sta... Как-то так.
     
    Перед всеми экспериментами - дампить меняемые файлы. Обязательно.
  5. Like
    abushyk получил репутацию от mas в Убрать лишние виды и характеристики   
    Добавление телефона
     
    http://pastebin.com/SkzEcwsL - тут кусок шаблона realty_view.tpl в котором выводятся контакты владельца.
    Строки 17-19 - это заготовка под вставку вашего поля, где "какоетодругоеполестелефоном" нужно заменить на системное имя поля, которое вы хотите вывести.
    Что бы этот же телефон не болтался в общих данных
    Ищете в realty_view.tpl строчки
    <ul class="realty-options">            {foreach from=$hvd_tabbed item=tab key=tabname}            {if $tab|count>0}                {foreach from=$tab item=data_item}                                    {if $data_item.type eq "primary_key" or $data_item.value eq "0" or $data_item.value eq "" or $data_item.name eq "currency_id" or $data_item.name eq "export_cian" or $data_item.name eq "user_id" or $data_item.name eq "price"  or $data_item.name eq "youtube" or $data_item.type eq "hidden" or $data_item.name eq "text" or $data_item.type eq "geodata" or $data_item.name eq "meta_keywords"  or $data_item.name eq "meta_description" or $data_item.name eq "meta_title"} и после "meta_title" через пробел дописываете or $data_item.name eq "какоетодругоеполестелефоном"
     
    ===============================
     
    В самом шаблоне, чуть выше есть строка
    <div class="avtor"><a href="{$estate_folder}/user{$user_data.user_id.value}.html">{$L_ADV_AUTHOR}</a></div> {$L_ADV_AUTHOR} - это и есть агент. Если вам плевать на мультиязычность, можете спокойно заменить этот кусочек на любое другое слово.
     
    =================================
     
    Для изменения слова Заявка - создайте файл /template/frontend/ваш_шаблон/apps/mailbox/site/template/form.tpl с содержимым из файла /apps/mailbox/site/template/form.tpl
    В нем, в строке 194 ищете заветное слово Заявка и меняете его на свое.
  6. Like
    abushyk получил репутацию от Дима в Шаблон Realia   
    Админка - Редактор форм
     
    Смотрим там где имя модели client
    Под ним есть набор кнопок-иконок
    В вашем случае навeрное он будет такой
    http://hkar.ru/oQGk
    Вот эта блеклая, по сравнению с остальными кнопками, кнопка создает таблицу для приложения клиент, на отсутствие которой ругается движок.
  7. Like
    abushyk получил репутацию от keks в Шаблон Realia   
    Для общего развития.
    Кроме defautZoom поддерживается еще два параметра
     
    scrollZoom - разрешает\запрещает зуммирование карты скроллингом мыши. По умолчанию зуммирование разрешено. Тем, кого это нервирует или на картах в целое окно, логично эту опцию отключать путем scrollZoom:false
     
    minimap - включает\выключает миникарту на карте. По умолчанию включена. Выключается minimap: false
     
    Итого инициализация карты может иметь вид 
    RM.initJSON('YMapsID', loc_objects, map_type, {scrollZoom: false, minimap: false, defaultZoom: 4}); что на человеческий переводится как карта на элементе с id=YMapsID, не зуммится мышкой, только контролами на карте; без миникарты, с зумом, если ситуация поволяет, равным 4.
  8. Like
    abushyk изменил репутацию IGOR в Общие вопросы по дизайну шаблонов   
    Такое же
    Ещё бы я посоветовал программку для FTP FileZilla FTP Client . Программу для ред. кода Notepad++
    И наконец что знать что и где править дополнение для Mozilla Firefox Firebug Как с ним работать
    Удачи...
  9. Like
    abushyk получил репутацию от Дима в Шаблон Realia   
    в realty_view.tpl
    c 19 строки идет блок объявления карусельки в просмотре.
     
    Замените его вот таким http://pastebin.com/uiPRtbUf
     
    в top_special.tpl
    в 39 строке в разметке добавьте класс topspecial 
    <div class="carousel topspecial"> а ниже есть еще один инициализатор уже это карусельки.
    Его замените на вот этот http://pastebin.com/AweDA8Mb
  10. Like
    abushyk получил репутацию от Дима в Шаблон Realia   
    Все "сложные" скриптовые куски (те, в тексте которых встречается хоть одна фигруная скобка) должны быть в шаблоне охвачены смарти-тегами
    {literal}тут уже ваш скрипт{/literal} А в счетчиках фигурные скобки 100% есть. 
    Да и вообще все вживления скриптов, именно кода, лучше ставить в эти теги.
     
    +====================================
     
     
    Не всегда отсылка на файлы из агенси-шаблона являются опиской.
    Шаблон агенси идет как базовый и, обяно онстоит у пользователя, кроме рабочего шаблона. Поэтому некоторые общие файлы и графика берутся напрямую из него.
  11. Like
    abushyk получил репутацию от Владимир в Убрать лишние виды и характеристики   
    1. При выделении любого пункта автоматически выделяются все его дочерние. Проверьте действительно ли выделен только один нужный пункт.
    2. Если фильтрация не срабатывает, значит может быть проблема в момент загрузки правил для полей. Сайт доступен в интернете?
     
    ПС. Забор правил выполняется приложением system. Так что оно тоже должно быть свежим.
  12. Like
    abushyk получил репутацию от Sharovchic в шаблон OneCity   
    В шаблоне OneCity наличествует ручной вывод параметров объявления - вы сами указываете какие и куда значения вывести в просмотре в шаблоне realty_view.tpl
     
    Принцип такой. В шаблоне доступна переменная {$data} которая содержит информацию об объявлении в поэлементном виде, где каждый элемент представлен как
    [системное_имя] => Array ( [name] => системное_имя [title] => Название [value] => Значение как в БД [type] => safe_string собственно тип [value_string] => Значение приведенное к нормальному ... еще куча разных нужных и не очень полей )  Т.е. если надо получить значение поля razvitaya_ifrastruktura то следует сделать
     
    {$data.razvitaya_ifrastruktura.value}
    либо 
    {$data.razvitaya_ifrastruktura.value_string}
     
    В чем разница? Разница в том, что поля модели не все одинаковые. Если для поля safe_string  в БД в таблице объявлений хранится строка-значение этого поля, то для полей select_by_query, select_box, structure в таблице data хранится только ключ значения из другой таблицы. Поэотму для таких полей истинное текстовое значение находится в value_string а не value. А в value лежит только числовой ключ.
     
    Если у вас есть сомнений по поводу где же искать нужное значение, то можете в шаблоне сделать {$data.razvitaya_ifrastruktura|print_r} и обновить страницу. Вы увидите отладочный вывод этого элемента и сможете сориентироваться какой же ключ указать после $data.razvitaya_ifrastruktura.
    С чекбоксами ситуация похожая. Поле $data.razvitaya_ifrastruktura.value будет хранить 1 для него, если он был выбран\отмечен при сохранении.
     
    Если вы захотите вывести, например для чекбокса, название поля только тогд, когда чекбокс выбран, как когда формируют список указанных опций жилья, заданных чекбоксами, то можно сделать так
     
    {if $data.razvitaya_ifrastruktura.value==1}{$data.razvitaya_ifrastruktura.title}{/if}
    {if $data.some_another_checkboxed_option.value==1}{$data.some_another_checkboxed_option.title}{/if}
     
    Можно извратиться сильнее и привлечь на помощь массивы, куда укладывать названия выбранных параметров и потом выводить со склейкой через запятую: 
     
    В нашем жилье есть: Инфраструктура, Горячая вода, Газ, Свет
     
    Ну это уже при желании могу описать подробнее.
  13. Like
    abushyk получил репутацию от mas в Как активировать объявление   
    Приоритет, для массовых изменений, стоит отдавать Пакетной обработке в футере таблицы объявлений.
    Вибираете группу объявлений чекбоксами слева от записи в таблице, нажимаете Пакетная обработка. Меняете параметры, которые должны измениться, как в обычной форме. После этого, чекбоксами слева от названий полей формы указываете какие поля должны измениться в записях. И жмете сохранить.
     

  14. Like
    abushyk получил репутацию от Chernetskiy в Загрузчик фото как в демо на сайте   
    А чем проводите деархивацию?
    Если не ошибаюсь tgz - это архивация .tar, в представление одним файлом, зажатая после этого gzip. Как бы двойной архив. Может получается, что ваш архиватор разжимает только "первую ступень".
  15. Like
    abushyk получил репутацию от mas в Убрать лишние виды и характеристики   
    Я еще не достиг высот Кашпировского, что бы лечить по фотографиям)
  16. Like
    abushyk получил репутацию от ovesti.ru в Шаблон Realia   
    Вам действительно необходима ВСЯ структура поставляемая исходно? Все эти Аренда = Квартира = однокомнатная и прочие ветви?
    Шаблон спроектирован так, что не совсем рационально поддерживает многовложенные ветвистые структуры. Т.е. если в пункте много детей у которых много детей - их лучше перенести в начало списка корневых пунктов структуры. Либо упростить саму структуру.
  17. Like
    abushyk получил репутацию от Дима в Убрать лишние виды и характеристики   
    Я еще не достиг высот Кашпировского, что бы лечить по фотографиям)
  18. Like
    abushyk получил репутацию от Realtor в Правила валидации   
    Для ознакомления. Скорее всего это скоро будет доступно в обновлениях
    http://wiki.sitebill.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D0%B0_%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D0%B8_%D0%B4%D0%BB%D1%8F_%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8
     

  19. Like
    abushyk получил репутацию от mas в Настройка карты Яндекс   
    Уточню.
    Есть два способа вывода карты с сеткой.
    1. Карта на главной (Выводить карту на главной странице ). В этом случае на "главной" выводится карта содержащая метки всех объявлений, для которых явно указаны координаты положения в свойствах.
    2. Карта с сеткой (Выводить карту вместе со списком объявлений ). В этом случае, при выводе списка объявлений вместе с ними выводится карта, содержащая метки только для объявлений из выведенной сетки, для которых явно указаны координаты положения в свойствах.
  20. Like
    abushyk получил репутацию от mas в Убрать лишние виды и характеристики   
    Изменение типов недвижимости - Админка - Структура
    Разные характеристики объекта - Админка - Редактор Форм - таблица\модель data - она содержит перечень характеристик. Там их можно "погасить" (деактивировать), либо вообще удалить.
    Разделы Сдать/Снять - это все тоже часть Структуры.
  21. Like
    abushyk получил репутацию от Richardrap в НГ-2014   
    С большой долей вероятности, в силу географии, я буду встречать Новый год последним из форумчан, но позволю себе поздравить всех первым.
     
    От имени команды Сайтбилля, хочу пожелать всем удачного и хорошего нового года.
    Что бы принес он каждому здоровье и счастье. А все остальное уже будет производным от этих трех составляющих.
     
    С наступающим!
     
  22. Like
    abushyk получил репутацию от IGOR в Настройка карты Яндекс   
    Если карта в просмотре объявления смотрим файл realty_view.tpl (или realty_view_map.tpl - смотря какой шаблон).
    Если карта в списке объявлений - то realty_grid.tpl
    Если какрта в просмотре карты - то map.tpl
     
    В этих файлах есть подключение карты.
    надо найти строку 
    behaviors: ["scrollZoom", "drag", "dblClickZoom"], и превратить ее в 
    behaviors: ["drag", "dblClickZoom"], Что бы убрать мини-карту, чуть далее того места, где вы правили скролл, есть кусок
    map.controls.add(new ymaps.control.MiniMap(   { type: 'yandex#satellite' },   { size: [90, 90] })); Удалите его, что бы убрать мини-карту.
  23. Like
    abushyk получил репутацию от Chernetskiy в Требуется совет!   
    Если не ошибаюсь, то
     
    bloginfo( 'name' );
     
    выводит как-раз имя сайта из настроек, которое приклеивается к вашему тайтлу.
  24. Like
    abushyk изменил репутацию MaxTu в Хорошая, годная CMS   
    Добрый день!
    Сразу же хочется поблагодарить разработчиков CMS Sitebill за столь гибкую и хорошую CMS для агентств недвижимости, а также за адекватную, полезную помощь и поддержку!

    У нашей студии большой опыт работы с проектами для недвижимости, и даже есть собственная CMS заточенная под эту область, но Sitebill в последнем проекте показал свои сильные стороны.

    Хочется рассказать о нашем новом проекте - сайте агентства недвижимости "Академия м2" http://www.akademiyametrov.ru, и особенно о тех модулях и нововведениях, которые мы использовали для Sitebill при работе над ним, потому как считаем, что они будут полезны всему сообществу:



    ------------------------------------------



    0. Сайт сверстан на Twitter Bootstrap 3. Пока мы не видели новых проектов на Sitebill с этим css-фреймворком. Верстка велась на основе шаблона agency.
    В целом, подключение CSS и JS Bootstrap 3 не вызвало больших проблем.

    1. Написали свой модуль краткой Заявки в свободной форме!
    По-умолчанию, в CMS сделана большая, громоздкая форма заявки на аренду и покупку недвижимости. Мы же, по своему опыту знаем, что форма должна иметь как можно меньше полей
    для заполнения посетителем - конверсия выше будет.
    Модуль сделан в виде одного php-скрипта (дочитайте до конца и узнаете как его получить!). Данные отправляются на почту и появляются у админа в разделе "Заявки на аренду".
    Поэтому была написана форма всего с 4 полями, которая выводится в модальном окне bootstrap 3. Отправка данных сделана через ajax в наш скрипт simple-order.php.
    А в скрипте просто заносится данные в таблицу:

    $query="INSERT INTO re_data_get_rentSET name='".$name."', phone='".$phone."', more='".$message." (".NOW.")', date_added='".TIMESTAMP."'"; 2. Слайдер. Слайдер - это краеугольный камень презентационных сайтов, к коим относятся и сайты по недвижимости.
    Слайдер на главной странице сделан на основе верстки модуля/шаблона right_special.tpl и подключен к js-библитеке Sly slider.
    Доработки:
    - корректная обрезка описания объекта, с помощью функции шаблонизатора Smarty - truncate:200

    \template\frontend\akademiyametrov\right_special.tpl:14

    <p>{$special_items2[i].text|strip_tags|truncate:200}</p> - Вывод нескольких фото в слайдер (по-умолчанию, в CMS выводится одно фото) - подсказали в теме http://www.etown.ru/s/topic/357-превью-в-модуле-спецпредложений/:

    Файл /apps/system/lib/frontend/grid/grid_constructor.php:838:1551:2251
    $image_array = $data_model->get_image_array ( 'data', 'data', 'id', $item_array['id'], 1 ); тут убираем последний аргумент, который и указывает на количество фото
    $image_array = $data_model->get_image_array ( 'data', 'data', 'id', $item_array['id']); 3. Существенно переработана форма поиска: оставлены только необходимые поля. Плюс, сделано так, чтобы по-умолчанию был выбран необходимый город (с помощью jQuery):

    $('select#city_id :nth-child(2)').attr("selected", "selected"); Для стилизации полей формы использовали jquery.formstyler.min.js (по-моему, его можно включить в дефолтные шаблоны CMS).


    4. Таблица объектов также существенно переработана:
    - выводится три фото (вместо одного):
     
    {if $grid_items[i].img[1] != '' } <a class="preview" href="{$grid_items[i].href}"><img src="{$estate_folder}/img/data/{$grid_items[i].img[1].preview}" width="50"></a> {/if}{if $grid_items[i].img[2] != '' } <a class="preview" href="{$grid_items[i].href}"><img src="{$estate_folder}/img/data/{$grid_items[i].img[2].preview}" width="50"></a> {/if} - если указана сортировка по какому-то столбцу (стоимость, район и др.), он выделяется серым цветом css-класса cell-1:
     
    class="{if strpos($smarty.server.REQUEST_URI, "order=type") == true}cell-1{/if} - проставлены относительные даты добавления объекта вместо абсолютных ("сегодня", "вчера" вместо дефолтных "11.12"). Использована функция Smarty
    $smarty.now|date_format:"%d.%m" :
     
    {if $grid_items[i].date==$smarty.now|date_format:"%d.%m"} сегодня{elseif $grid_items[i].date==($smarty.now-(60*60*24))|date_format:"%d.%m"} вчера{else} {$grid_items[i].date}{/if} - благодаря новым классам в Bootstrap 3 некоторые столбцы на мобильных устройствах скрываются и таблица становится компактной и помещается на экранах вплоть до планшетов:
     
    <td ... class="visible-lg">...</td> 5. Существенно переработана страница объекта - к примеру, вот продажа 1-к квартиры.

    - Фото выводятся с помощью библиотеки photosetGrid , которая в виде мозаики размещает их.
    - Форма отправки заявки на объект также сделана по-другому: некрасивое всплывающее окно с большим количеством полей мало кто будет заполнять, поэтому форма
    выводится тут же на странице и выглядит как два поля - "Имя" и "Телефон". И все! Отправка данных из нее реализована через ajax.
    Для этого пришлось скопировать дефолтный шаблон form.tpl в свой шаблон в папку \template\frontend\akademiyametrov\apps\mailbox\site\template\ , и таким образом, работать уже
    с собственным подключаемым шаблоном.

    Спасибо за подсказку в теме http://www.etown.ru/s/topic/331-отдельный-шаблон-новостей/


    6. Главную страницу тоже существенно переверстали.
    К примеру, на основе функций Smarty сделали так, чтобы кое-какие блоки верстки выводились только на главной странице (в примере ниже - это слайдер, который выводится только на главной):

    {if $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" eq '/'} <!-- Slider --> ... <!-- /.Slider -->{/if} или не выводились в определенных разделах (тут блок поиска не выводится на стат.страницах):
     
    {if $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" ne '/services/' && $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" ne '/aboutakademiyametrov/' && $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" ne '/contacts/' && $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" ne '/news/' && $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" ne '/rostovhistory/' && $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" ne '/order/'} <h2 class="topic"> Каталог недвижимости</h2>{/if} 7. Для бекэнда тоже постарались: написали свой модуль для автоматического экспорта объектов на доску объявлений "Авито" - http://www.akademiyametrov.ru/xml/avito.xml,
    чем с удовольствием пользуется клиент, а также модуль автоматического парсинга определенных сайтов и добавления квартир с них в админку.
    Но, на текущий момент, первый модуль оформлен как кнопка со ссылкой на URL (по которому генерируется xml) в разделе "Выгрузка Яндекс.Недвижимость" и представляет собой один php-скрипт,
    т.к. до написания полноценного плагина для CMS руки не дошли. Вполне вероятно, что при работе над другими проектами оформим их как плагины.


    В итоге 1-месячной работы имеем:
    2 новых собственных шаблона модулей (news, mailbox - все они копировались из дефолтных в папку \template\frontend\akademiyametrov\apps\ ,
    к примеру собственный шаблон новостей для работы должен иметь путь \template\frontend\akademiyametrov\apps\news\site\template\), 8 переверстанных
    шаблонов (header.tpl, footer.tpl, main.tpl, right_special.tpl, standart_search_form.tpl, realty_view.tpl, realty_grid.tpl, news_list_column.tpl), 4-6 файлов собственных
    модулей ... и ~10 вопросов на форуме


    Готовы поделиться скриптом для формы свободной заявки (1 php-скрипт + js-код для отправки данных + код под bootstrap для верстки модальн.окна). Пишите в личку.

    При разработке даже сделали небольшой хак - "Установка шаблона из URL 'на лету' " http://www.etown.ru/s/topic/332-хак-установка-шаблона-из-url-на-лету/
    И в конце работы над проектом, хочется высказать пожелания для разработчиков, быстрее включить в дефолтные шаблоны Bootstrap 3.


    -----------------
    Отдаем даром форму краткой Заявки на объекты

    В ходе работы над последним проектом на основе Sitebill, мы сделали краткую форму Заявки на объект. Знаем по собственному опыту работы с сайтами агентств недвижимости - такая форма с 2-4 полями дает существенную конверсию и отдачу.
    Форма добавляет заявку в админку и отправляет заявку на email.

    Готовы поделиться скриптом для формы свободной заявки (1 php-скрипт + js-код для отправки данных + код под bootstrap для верстки модальн.окна).
     
    Просто напишите в личку.


  25. Like
    abushyk получил репутацию от Realtor в Дубликаты объектов в базе   
    Не пробовал, но, возможно, придется еще добавить ORDER BY date_added, что бы явно указать, какая запись будет "первой" при организации удаления лишних.
     
    Чистка напрямую через БД немного плохо - у удаленных объявлений могут остаться картинки.