MaxTu

Участники
  • Публикации

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

  • Посещение

  • Days Won

    6

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

  1. Like
    MaxTu получил репутацию от AlexS в Хорошая, годная 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 для верстки модальн.окна).
     
    Просто напишите в личку.


  2. Like
    MaxTu изменил репутацию Лина в Отдаем даром форму краткой Заявки на объекты   
    Благодарю вас за разработку и возможность ее использовать! За ваши золотые ручки
  3. Like
    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 для верстки модальн.окна).
     
    Просто напишите в личку.


  4. Like
    MaxTu изменил репутацию abushyk в Множественное закрепление объектов за агентами   
    Главное не забывайте отмечать в Пакетной обработке слева от имени параметра чекбоксы - для тех параметров, которые следует изменить. Изменения будут применены ТОЛЬКО к тем параметрам, у которых чекбокс отмечен перед отправкой формы.
  5. Like
    MaxTu изменил репутацию abushyk в Множественное закрепление объектов за агентами   
    Само перемещение пачки объявлений от агента к агенту реализована чуть ниже - в Пакетная обработка. А вот насчет множественного владения, то тоже как-то не уловил применяемости.
  6. Like
    MaxTu получил репутацию от Victor_winner в Хорошая, годная 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 для верстки модальн.окна).
     
    Просто напишите в личку.


  7. Like
    MaxTu получил репутацию от Realtor в Хорошая, годная 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 для верстки модальн.окна).
     
    Просто напишите в личку.


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



    Готовы поделиться скриптом для формы свободной заявки (1 php-скрипт + js-код для отправки данных + код под bootstrap для верстки модальн.окна). Читайте в теме отзыва как ее получить, а также там вы прочтете как можно существенно переработать дефолтные шаблоны и сделать красивый сайт.
  9. Like
    MaxTu получил репутацию от Realtor в Хорошая, годная CMS   
    Да, проект получился очень хорошим. В том числе и благодаря вашей CMS и использованию парсеру Smarty. Постарайтесь включить TB3 в дефолные шаблоны, это было бы крайне полезно всем, считаю.
     
    Модулем, к сожалению, поделиться не можем - коммерческая разработка, продаем клиентам. А вот формой заявки - запросто.
     
    Профиль есть, вот - http://www.cmsmagazine.ru/creators/activetech/, но последние работы туда пока не добавляли.
  10. Like
    MaxTu получил репутацию от abushyk в Хорошая, годная 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 для верстки модальн.окна).
     
    Просто напишите в личку.


  11. Like
    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 для верстки модальн.окна).
     
    Просто напишите в личку.


  12. Like
    MaxTu получил репутацию от Дмитрий Кондин в Как убрать символы вопросов в спец.предложениях   
    Я использовал вместо библиотеки mb встроенную функцию Смарти:
    {$special_items2[i].text|strip_tags|truncate:200}
  13. Like
    MaxTu изменил репутацию Дмитрий Кондин в Превью в модуле спецпредложений   
    Файл /apps/system/lib/frontend/grid/grid_constructor.php
    Код
    $image_array = $data_model->get_image_array ( 'data', 'data', 'id', $item_array['id'], 1 );if ( count($image_array) > 0 ) { $ra[$item_id]['img'] = $image_array;} тут убираем последний аргумент, который и указывает на количество фото
    $image_array = $data_model->get_image_array ( 'data', 'data', 'id', $item_array['id']);
  14. Like
    MaxTu изменил репутацию abushyk в Отдельный шаблон новостей   
    Выяснил почему. При подключении шаблонов приложения используется функция, которая опирается на имя темы из конфига, поэтому переданное в запросе имя темы не срабатывает.
  15. Like
    MaxTu получил репутацию от Дмитрий Кондин в Шаблон realty - изменения шапки   
    Сегодня решил данную проблему на уровне шаблонизатора Smarty без вмешательства в php-код:
     
    шаблон main.tpl:
    {if $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" eq '/'} ...{/if} Работает просто, как топор: нужный блок "..." выводится только на главной.
  16. Like
    MaxTu получил репутацию от Дмитрий Кондин в Хак: установка шаблона из URL "на лету"   
    Может быть кому-то еще пригодится следующее решение.
     
    При работе над проектом столкнулся с проблемой установки и тестирования нового шаблона "на лету" прямо на сервере, потому как шаблон правится на "живом", уже работающем с контентом сайте, а поднимать локальную копию сайта не хочется. По-умолчанию в адмнке в настройках установлен шаблон agency. Я сделал в index.php:92 следующий хак:
     
    вместо
    $smarty->template_dir = SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$sitebill->getConfigValue('theme'); поставил простую строчку:
    if ( $_GET['theme'] != '' ) { $theme = $_GET['theme']; } else { $theme = $sitebill->getConfigValue('theme'); };$smarty->template_dir = SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$theme; Теперь если добавить в url страниц сайта строку ?theme=akademiyametrov, будет установлен шаблон akademiyametrov (к примеру, для разработчиков), а все остальные посетители будут использовать шаблон по-умолчанию.
  17. Like
    MaxTu получил репутацию от abushyk в Хак: установка шаблона из URL "на лету"   
    Может быть кому-то еще пригодится следующее решение.
     
    При работе над проектом столкнулся с проблемой установки и тестирования нового шаблона "на лету" прямо на сервере, потому как шаблон правится на "живом", уже работающем с контентом сайте, а поднимать локальную копию сайта не хочется. По-умолчанию в адмнке в настройках установлен шаблон agency. Я сделал в index.php:92 следующий хак:
     
    вместо
    $smarty->template_dir = SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$sitebill->getConfigValue('theme'); поставил простую строчку:
    if ( $_GET['theme'] != '' ) { $theme = $_GET['theme']; } else { $theme = $sitebill->getConfigValue('theme'); };$smarty->template_dir = SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$theme; Теперь если добавить в url страниц сайта строку ?theme=akademiyametrov, будет установлен шаблон akademiyametrov (к примеру, для разработчиков), а все остальные посетители будут использовать шаблон по-умолчанию.
  18. Like
    MaxTu получил репутацию от abushyk в Шаблон realty - изменения шапки   
    Сегодня решил данную проблему на уровне шаблонизатора Smarty без вмешательства в php-код:
     
    шаблон main.tpl:
    {if $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" eq '/'} ...{/if} Работает просто, как топор: нужный блок "..." выводится только на главной.
  19. Like
    MaxTu изменил репутацию Дмитрий Кондин в Пересохранение даты объекта   
    В обновлении, которое будет на следующей недели - будет в админке опция "админ может поднимать объявления".
    Смысл функции в том, что если она включена, то в строке объявления есть иконка "поднять" и при нажатии на нее дата будет устанавливаться на сегодняшнюю.
  20. Like
    MaxTu изменил репутацию abushyk в Пересохранение даты объекта   
    /apps/system/lib/admin/data/data_manager.php:1342 - тут фактическое сохранение при редактировании.
    Если до этого места в функции Data_Manager::edit_data() проинициализировать некое поле, например date_added (поле даты добавления объекта) текущей датой, как это сделано в строке 1471
    $form_data['date_added']['value'] = date('Y-m-d H:i:s', time()); то будет установлена новая дата.