О системе ::  Недвижимость ::  Страницы ::  Структура ::  Инфоблоки ::  Пользователи ::  Списки ::  Обработчики ::  Макеты ::  Шаблоны ::  XSL-блоки ::  Валюты ::  Константы ::  Рассылки

REA.CMS: Модуль «Недвижимость»

 

Раздел «Каталог недвижимости»

 

Представляет собой базу объектов недвижимости с разделением по типам (напр. Квартиры, Дома, Участки, …). Число типов недвижимости не ограничено, для каждого типа недвижимости устанавливается собственный набор свойств (Число комнат, Площадь, …). Доступные типы свойств объектов недвижимости: Тест, Большой текст, Большой текст с визуальным редактором, Список, Флажок, Дата, Инфоблок.

 

Если свойство отмечено как специальное, то редактировать такое свойства может только пользователь с соответствующими правами. С помощью таких свойств можно добавлять скрытые для агентов параметры (напр. флаг отображения в избранных/горячих объектах/предложениях).

 

 

Если установлена константа REALTY_OBJECTS_ARCHIVE, каталог содержит архив объектов. При добавлении объекта недвижимости указывается срок активности объявления (периоды активности редактируются в константах), по истечении срока активности объявления помещаются в архив и не выводятся на страницах сайта и не участвует в рассылки (если производится рассылка объектов). Агент может в любой момент поднять объект из архива, продлив его на выбранный срок.

 

Цены на объекты недвижимости могут быть указаны в различных валютах с пересчетом по отношению к базовой, подробнее читайте в разделе «Валюты».

 

Неограниченное число фотографий объектов недвижимости с возможностью установки порядка вывода, заголовка и описания. Подробнее о возможностях модуля Фотографии можете прочитать на главной странице документации https://rea-soft.ru/cmsdocs/

 

 

Раздел «Агентства»

 

Представляет собой базу агентств недвижимости и агентов. Неограниченное число дополнительных свойств агентств, неограниченное число фотографий. Привязка пользователей к агентствам.

 

Для каждого агентства возможна установка периода активности (период показа объявлений) и лимита на число объектов. При добавлении/редактировании агентства, можно указать URL-адрес сайта агентства, работающего под управлением REA.CMS для автоматического импорта объектов.

 

 

Раздел «Гео-списки»

 

Гео-списки — списки регионов, городов и районов.

 

 

Раздел «Типы сделок»

 

Типы сделок — редактируемый список, напр. Купля, Продажа, Аренда и т.п.

 

 

Экспорт объектов

 

На базе REA.CMS возможно создание сети сайтов с автоматической синхронизацией данных. Например, это может быть региональный портал недвижимости с подключенными к нему сайтами агентств. Обмен объектами возможен в двух режимах: мгновенное обновление (для небольших баз) и обновление по расписанию (cron).

 

Для настройки обновления необходимо выполнить следующие шаги:

 

На стороне сервера (сайта, выполняющего роль сервера в обмене)

 

1. Установить константу REALTY_EXCHANGE = 1;

2. Добавить соответствующие агентства в разделе «Агентства», указав URL-адреса их сайтов;

3. Если обновление по cron — установить значение константы REALTY_EXCHANGE_ATTEMPTS (максимальное число повторных попыток соединения, в случае ошибки связи), добавить задание cron /cron/cron_realty_exchange.php с необходимой периодичностью выполнения (выбирается вся очередь заданий);

4. Установить значение константы REALTY_EXCHANGE_INSTANCE в зависимости от типа обмена.

 

На стороне клиента (сайта, выполняющего роль клиента в обмене)

 

1. Установить константу REALTY_EXCHANGE = 1;

2. Установить полный адрес модуля на сервере в REALTY_EXCHANGE_SERVER (напр. «http://site.ru/realty/»).

 

ВНИМАНИЕ! Для корректного обмена необходимо, чтобы все XML-имена на стороне сервера и на стороне клиента совпадали (напр. свойства объектов недвижимости, при этом сами названия свойств могут быть различными).

 

Константы модуля:

 

REALTY_OBJECTS_ARCHIVE — архив объектов (0 — отключен, 1 — включен);

REALTY_OBJECTS_ARCHIVE_DEFAULT — время по умолчанию, активности объекта до переноса в архив, дней;

REALTY_OBJECTS_ARCHIVE_TIME_SETS — периоды продления активности объектов, на число дней (через запятую), напр. «1,3,7»;

 

REALTY_EXCHANGE — выгрузка объектов (0 — отключена, 1 — включена);

REALTY_EXCHANGE_SERVER — полный URL-адрес модуля недвижимости на сервере (напр. https://site.ru/realty/);

 

REALTY_EXCHANGE_INSTANCE — моментальное обновление (0 — отключено, 1 — включено). Не рекомендуется при большом числе объектов или подключенных сайтов;

REALTY_EXCHANGE_ATTEMPTS — число попыток выполнения запроса (если выгрузка по cron).

 

API

 

Каталог недвижимости

 

// Подключение модуля из обработчиков/макетов/шаблонов

$mod = $CORE->load ('realty');

 

Методы:

 

array  GetList ([array $params]) — Возвращает массив объектов недвижимости.

    $params — параметры, ассоциативный массив, допустимые значения:

         int 'page'  — номер страницы, по умолчанию «1»;

         int 'per_page' — число элементов на странице, по умолчанию используется значение константы DEFAULT_ITEMS_PER_PAGE;

         string 'sort_by' — поле сортировки (возможна сортировка только по основным полям);

         int 'sort_dir' — направление сортировки (0 — по возрастанию, 1 — по убыванию);

         int 'realty_id' — идентификатор типа недвижимости;

         string 'url' — адрес узла структуры каталога недвижимости;

         bool 'with_properties' — флаг, определяющий выводить дополнительные свойства объектов или нет;

         bool 'with_photos' — флаг, определяющий выводить фотографии объектов или нет;

         int 'with_agent_data' — вывод данных агентов: 0 — не выводить, 1 — данные, 2 — +свойства, 3 — +фото;

         int 'with_agency_data' — вывод данных агентств: 0 — не выводить, 1 — данные, 2 — +свойства, 3 — +фото;

         array 'filter' — дополнительные параметры выборки.

 

$params['filter']['main'] — фильтр по основным свойствам;

$params['filter']['additional'] — фильтр по дополнительным свойствам;

 

Напр. $params['filter']['main']['object_price']['min'] = 100000;

Допустимые значения: equal (строгое соответствие), min (минимальное значение, целое число), max (максимальное значение, целое число), like (сравнение подстроки), valin (набор значений), idin (набор id, через запятую).

 

ShowList (int $xsl_id, [array $params, array $external_vars]) — Выводит объекты недвижимости, обертка для метода GetList.

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры, те же, что и для метода GetList;

    $external_vars — дополнительные данные, передаваемые в xsl-шаблон.

 

array  GetItem (int $id, [array $params]) — Возвращает объект недвижимости.

    $id — идентификатор объекта недвижимости;

    $params — параметры, ассоциативный массив, допустимые значения:

         bool 'with_properties' — флаг, определяющий выводить дополнительные свойства объекта или нет;

         bool 'with_photos' — флаг, определяющий выводить фотографии объекта или нет;

         int 'with_agent_data' — вывод данных агента: 0 — не выводить, 1 — данные, 2 — +свойства, 3 — +фото;

         int 'with_agency_data' — вывод данных агентства: 0 — не выводить, 1 — данные, 2 — +свойства, 3 — +фото.

 

ShowItem (int $id, int $xsl_id, [array $params, array $external_vars]) — Выводит объекты недвижимости, обертка для метода GetItem.

    $id — идентификатор объекта недвижимости;

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры;

    $external_vars — дополнительные данные, передаваемые в xsl-шаблон.

 

array GetTypes () — Возвращает список всех типов недвижимости в виде массива id ≥ name.

 

array GetGeo1List () — Возвращает список всех регионов в виде массива id ≥ list_name.

array GetGeo2List (int $geo1_id) — Возвращает список городов региона в виде массива id ≥ list_name.

array GetGeo3List (int $geo2_id) — Возвращает список районов города в виде массива id ≥ list_item_name.

 

SearchForm  (int $xsl_id, [array $params]) — Выводит форму поиска.

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры, допустимые значения:

         int 'realty_id' — выборка по свойствам определенного типа недвижимости.

 

array GetFullPropertyValues (string $xml_name) — Возвращает массив всех уникальных значений дополнительного свойства объектов недвижимости (выборка по всем типам недвижимости).

    $xml_name — xml-имя дополнительного свойства.

 

array  GetAgents ([array $params]) — Возвращает массив агентов.

    $params — параметры, ассоциативный массив, допустимые значения:

         int 'page'  — номер страницы, по умолчанию «1»;

         int 'per_page' — число элементов на странице, по умолчанию используется значение константы DEFAULT_ITEMS_PER_PAGE;

         string 'sort_by' — поле сортировки (возможна сортировка только по основным полям);

         int 'sort_dir' — направление сортировки (0 — по возрастанию, 1 — по убыванию);

         string 'url' — адрес узла структуры каталога недвижимости;

         bool 'with_properties' — флаг, определяющий выводить дополнительные свойства агентств или нет;

         bool 'with_photos' — флаг, определяющий выводить фотографии агентств или нет;

         int 'with_agency_data' — вывод данных агентств: 0 — не выводить, 1 — данные, 2 — +свойства, 3 — +фото;

         string 'where' — дополнительные параметры выборки.

 

 

ShowAgents (int $xsl_id, [array $params, array $external_vars]) — Выводит агентов, обертка для метода GetAgents.

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры, допустимые значения;

    $external_vars — дополнительные данные, передаваемые в xsl-шаблон.

 

array GetAgent (int $id, [array $params]) — Возвращает агента.

    $id — идентификатор пользователя;

 

    $params — параметры, ассоциативный массив, допустимые значения:

         bool 'with_properties' — флаг, определяющий выводить дополнительные свойства агента или нет;

         bool 'with_photos' — флаг, определяющий выводить фотографии агента или нет;

         int 'with_agency_data' — вывод данных агентства: 0 — не выводить, 1 — данные, 2 — +свойства, 3 — +фото.

 

ShowAgent (int $id, int $xsl_id, [array $params, array $external_vars]) — Выводит агента, обертка для метода GetAgent.

    $id — идентификатор пользователя;

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры;

    $external_vars — дополнительные данные, передаваемые в xsl-шаблон.

 

array GetObjectsCountByType ([array $params]) — Возвращает количество объектов в базе с группировкой по типу недвижимости (поля: name — имя типа, dial_type — идентификатор типа, count — количество объектов).

 

    $params — параметры, ассоциативный массив, допустимые значения:

         bool 'except_zero_count' — флаг, определяющий выводить или нет объекты с нулевым числом объектов.

 

ShowObjectsCountByType (int $xsl_id, [array $params, array $external_vars]) — Выводит агента, обертка для метода GetObjectsCountByType.

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры;

    $external_vars — дополнительные данные, передаваемые в xsl-шаблон.

 

array GetObjectsCount ([array $params]) — Возвращает количество объектов в базе с группировкой по типу недвижимости (поля: name — имя типа, dial_type — идентификатор типа, count — количество объектов).

    $params — параметры, ассоциативный массив, допустимые значение такие же как у метода GetList.

 

array GetUsersObjectsCount () — Возвращает количество объектов в базе с группировкой по пользователям (поля: id — идентификатор пользователя, cnt — количество объектов).

 

Каталог агентств недвижимости

 

// Подключение модуля из обработчиков/макетов/шаблонов

$mod = $CORE->load ('agency');

 

Методы:

 

array GetList ([array $params]) — Возвращает массив агентств недвижимости.

    $params — параметры, ассоциативный массив, допустимые значения:

         int 'page'  — номер страницы, по умолчанию «1»;

         int 'per_page' — число элементов на странице, по умолчанию используется значение константы DEFAULT_ITEMS_PER_PAGE;

         string 'sort_by' — поле сортировки (возможна сортировка только по основным полям);

         int 'sort_dir' — направление сортировки (0 — по возрастанию, 1 — по убыванию);

         bool 'with_properties' — флаг, определяющий выводить дополнительные свойства агентств или нет;

         bool 'with_photos' — флаг, определяющий выводить фотографии агентств или нет.

 

ShowList (int $xsl_id, [array $params, array $external_vars]) — Выводит агентства недвижимости, обертка для метода GetList.

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры, допустимые значения;

    $external_vars — дополнительные данные, передаваемые в xsl-шаблон.

 

array GetItem (int $id, [array $params]) — Возвращает агентство недвижимости.

    $id — идентификатор агентства недвижимости;

    $params — параметры, ассоциативный массив, допустимые значения:

         bool 'with_properties' — флаг, определяющий выводить дополнительные свойства агентства или нет;

         bool 'with_photos' — флаг, определяющий выводить фотографии агентства или нет;

         int 'with_agent_data' — вывод данных агента: 0 — не выводить, 1 — данные, 2 — +свойства, 3 — +фото.

 

ShowItem (int $id, int $xsl_id, [array $params, array $external_vars]) — Выводит агентство недвижимости, обертка для метода GetItem.

    $id — идентификатор агентства недвижимости;

    $xsl_id — идентификатор xsl-шаблона;

    $params — параметры;

    $external_vars — дополнительные данные, передаваемые в xsl-шаблон.

 

array GetAgenciesList () — Возвращает список всех агентств недвижимости в виде массива id ≥ name.

array GetAgentsList () — Возвращает список всех агентов недвижимости в виде массива id ≥ name.

 

bool AssignAgent (int $user_id, int $agency_id) — Привязка пользователя к агентству.

    $user_id — идентификатор пользователя;

    $agency_id — идентификатор агентства.