-
Публикации
4036 -
Зарегистрирован
-
Посещение
-
Days Won
269
Изменения репутации
-
abushyk получил репутацию от mas в Шаблон Realia
на моей памяти, как минимум 3 сайта, активно используют эти параметры. Не все же работают на СНГ.
Практически невозможно предугадать какие параметры выберет пользователь ключевыми, соответственно так же сложно предугадать какой вывод ему понадобится. Особенно учитывая то, что сайтбилль разрешает вводить свои поля в структуру объявления. Именно поэтому мы в первую очередь стараемся подогнать базовые части, такие как сетка\просмотр, оставляя менее популярные до момента уточнения с конкретным пользователем.
-
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' ) {
.......
-
abushyk получил репутацию от TopRaN в Шаблон Realia
Это уже надо системные файлы трогать - так что вариант самый последний)))
-
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... Как-то так.
Перед всеми экспериментами - дампить меняемые файлы. Обязательно.
-
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 ищете заветное слово Заявка и меняете его на свое.
-
abushyk получил репутацию от Дима в Шаблон Realia
Админка - Редактор форм
Смотрим там где имя модели client
Под ним есть набор кнопок-иконок
В вашем случае навeрное он будет такой
http://hkar.ru/oQGk
Вот эта блеклая, по сравнению с остальными кнопками, кнопка создает таблицу для приложения клиент, на отсутствие которой ругается движок.
-
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.
-
abushyk изменил репутацию IGOR в Общие вопросы по дизайну шаблонов
Такое же
Ещё бы я посоветовал программку для FTP FileZilla FTP Client . Программу для ред. кода Notepad++
И наконец что знать что и где править дополнение для Mozilla Firefox Firebug Как с ним работать
Удачи...
-
abushyk получил репутацию от Дима в Шаблон Realia
в realty_view.tpl
c 19 строки идет блок объявления карусельки в просмотре.
Замените его вот таким http://pastebin.com/uiPRtbUf
в top_special.tpl
в 39 строке в разметке добавьте класс topspecial
<div class="carousel topspecial"> а ниже есть еще один инициализатор уже это карусельки.
Его замените на вот этот http://pastebin.com/AweDA8Mb
-
abushyk получил репутацию от Дима в Шаблон Realia
Все "сложные" скриптовые куски (те, в тексте которых встречается хоть одна фигруная скобка) должны быть в шаблоне охвачены смарти-тегами
{literal}тут уже ваш скрипт{/literal} А в счетчиках фигурные скобки 100% есть.
Да и вообще все вживления скриптов, именно кода, лучше ставить в эти теги.
+====================================
Не всегда отсылка на файлы из агенси-шаблона являются опиской.
Шаблон агенси идет как базовый и, обяно онстоит у пользователя, кроме рабочего шаблона. Поэтому некоторые общие файлы и графика берутся напрямую из него.
-
abushyk получил репутацию от Владимир в Убрать лишние виды и характеристики
1. При выделении любого пункта автоматически выделяются все его дочерние. Проверьте действительно ли выделен только один нужный пункт.
2. Если фильтрация не срабатывает, значит может быть проблема в момент загрузки правил для полей. Сайт доступен в интернете?
ПС. Забор правил выполняется приложением system. Так что оно тоже должно быть свежим.
-
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}
Можно извратиться сильнее и привлечь на помощь массивы, куда укладывать названия выбранных параметров и потом выводить со склейкой через запятую:
В нашем жилье есть: Инфраструктура, Горячая вода, Газ, Свет
Ну это уже при желании могу описать подробнее.
-
abushyk получил репутацию от mas в Как активировать объявление
Приоритет, для массовых изменений, стоит отдавать Пакетной обработке в футере таблицы объявлений.
Вибираете группу объявлений чекбоксами слева от записи в таблице, нажимаете Пакетная обработка. Меняете параметры, которые должны измениться, как в обычной форме. После этого, чекбоксами слева от названий полей формы указываете какие поля должны измениться в записях. И жмете сохранить.
-
abushyk получил репутацию от Chernetskiy в Загрузчик фото как в демо на сайте
А чем проводите деархивацию?
Если не ошибаюсь tgz - это архивация .tar, в представление одним файлом, зажатая после этого gzip. Как бы двойной архив. Может получается, что ваш архиватор разжимает только "первую ступень".
-
abushyk получил репутацию от mas в Убрать лишние виды и характеристики
Я еще не достиг высот Кашпировского, что бы лечить по фотографиям)
-
abushyk получил репутацию от ovesti.ru в Шаблон Realia
Вам действительно необходима ВСЯ структура поставляемая исходно? Все эти Аренда = Квартира = однокомнатная и прочие ветви?
Шаблон спроектирован так, что не совсем рационально поддерживает многовложенные ветвистые структуры. Т.е. если в пункте много детей у которых много детей - их лучше перенести в начало списка корневых пунктов структуры. Либо упростить саму структуру.
-
abushyk получил репутацию от Дима в Убрать лишние виды и характеристики
Я еще не достиг высот Кашпировского, что бы лечить по фотографиям)
-
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
-
abushyk получил репутацию от mas в Настройка карты Яндекс
Уточню.
Есть два способа вывода карты с сеткой.
1. Карта на главной (Выводить карту на главной странице ). В этом случае на "главной" выводится карта содержащая метки всех объявлений, для которых явно указаны координаты положения в свойствах.
2. Карта с сеткой (Выводить карту вместе со списком объявлений ). В этом случае, при выводе списка объявлений вместе с ними выводится карта, содержащая метки только для объявлений из выведенной сетки, для которых явно указаны координаты положения в свойствах.
-
abushyk получил репутацию от mas в Убрать лишние виды и характеристики
Изменение типов недвижимости - Админка - Структура
Разные характеристики объекта - Админка - Редактор Форм - таблица\модель data - она содержит перечень характеристик. Там их можно "погасить" (деактивировать), либо вообще удалить.
Разделы Сдать/Снять - это все тоже часть Структуры.
-
abushyk получил репутацию от Richardrap в НГ-2014
С большой долей вероятности, в силу географии, я буду встречать Новый год последним из форумчан, но позволю себе поздравить всех первым.
От имени команды Сайтбилля, хочу пожелать всем удачного и хорошего нового года.
Что бы принес он каждому здоровье и счастье. А все остальное уже будет производным от этих трех составляющих.
С наступающим!
-
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] })); Удалите его, что бы убрать мини-карту.
-
abushyk получил репутацию от Chernetskiy в Требуется совет!
Если не ошибаюсь, то
bloginfo( 'name' );
выводит как-раз имя сайта из настроек, которое приклеивается к вашему тайтлу.
-
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 для верстки модальн.окна).
Просто напишите в личку.
-
abushyk получил репутацию от Realtor в Дубликаты объектов в базе
Не пробовал, но, возможно, придется еще добавить ORDER BY date_added, что бы явно указать, какая запись будет "первой" при организации удаления лишних.
Чистка напрямую через БД немного плохо - у удаленных объявлений могут остаться картинки.