Готовые тиражные решения на 1С-Битрикс
Техническая поддержка:
+7-908-208-1965
Отдел продаж, с 7:00 до 18:00 (по Москве)
Звонок по России бесплатный
Вы также можете заказать звонок

FAQ BBS:Realty

20:04:54 - 18.02.2017

1. Вы купили типовое решение от студии ROMZA и что же дальше?
Специально для Вас мы составили подробный Чек-лист внедрения типовых решений ROMZA. В нем мы последовательно собрали необходимые параметры на которые следует обратить внимании при внедрении наших типовых решений начиная от выбора доменного имени и заканчивая SEO оптимизацией готового сайта.
2. Что необходимо сделать/проверить после установки решения?
  • Если у Вас уже был существующий сайт, то рекомендуем после установки решения произвести переиндексацию в модуле "Поиск".

  • А также проверить содержимое файла robot.txt и при необходимости настроить его (после, того как Вы начнете наполнение сайта своим контентом, иначе поисковики проиндексируют демонстрационные данные решения на Вашем сайте). Настраивается содержимое файла robot.txt на следующей странице в административном разделе - http://screencast.com/t/qTv5BWb8x  Либо ручным редактированием файла в корневой директории Вашего сайта

  • проверить содержимое всех почтовых шаблонов сайта и их работу. Возможно Вы захотите поменять текст, ссылки или описание шаблонов отправляемых Вашим сайтов писем.
3. Как установить обновление на типовое решение?

Необходимо скачать обновление через систему обновлений Битрикс.
После установки обновления, вам необходимо запустить мастер соответствующего решения, например "Мастер создания интернет-магазина BITRONIC2" со страницы:
Рабочий стол —> Настройки —> Настройки продукта —> Список мастеров http://screencast.com/t/SEclF5lJ3F4
Затем надо выбрать "Установить обновление"http://screencast.com/t/u4QNxvct1QK

Важно! При использовании многосайтовости запуск мастера обновления решения необходимо производить непосредственно на сайте, который Вы обновляете.
Т.е. если у Вас есть 2 сайта:
site1.ru - сторонний сайт
site2.ru - сайт с типовым решением

То производить запуск мастера необходимо находясь непосредственно в административном разделе site2.ru/bitrix/admin.......
Иначе это может привести к сбою работы Вашего другого сайта
4. Сильно разрастается кеш меню, что делать?
На сайтах где много страниц - кеш меню очень сильно разрастается, иногда на несколько гигабайт, что сильно тормозит работу сайта, так как на каждую страницу Битрикс по-умолчанию создает свой кеш меню.

Чтобы отключить данное поведение, необходимо при вызове компонента bitrix:menu добавить скрытый недокументированный параметр 
"CACHE_SELECTED_ITEMS" => "N" 

Если добавить этот параметр - то тогда для меню создается всего один :!: файл кеша для всех страниц сайта. 

Ссылка на курсы Битрикса - http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=5402


5. Как сделать, чтобы меню менялось в зависимости от страницы сайта
По-умолчанию на каждую страницу Битрикс создает свой кеш меню.

Однако данное поведение можно отключить при вызове компонента bitrix:menu добавлением скрытого недокументированного параметра 
"CACHE_SELECTED_ITEMS" => "N" 

Проверьте установлен ли у Вас данный параметр и при необходимости уберите его.

Ссылка на курсы Битрикса - http://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=5402
6. Как влючить/отключить обновление каптчи при клике на неё
Теперь можно активировать механизм для обновления трудночитаемой каптчи на всех страницах всех наших решений.

Активируется функционал в настройках модуля "Служебные инструменты ROMZA".

captcha
7. Как работает функционал многогородовости на разных редакциях 1С-Битрикс?
Города хранятся в свойстве инфоблока (по-умолчанию это свойство с кодом GEOLOCATION http://prntscr.com/725h0i ), в этом свойстве можно выбрать город по умолчанию (если не задан город по умолчанию, то выбирается первый по списку).


На редакции "Бизнес"

Здесь город пользователя определяется автоматически по IP адресу с помощью компонента Geoip. И для каждого посетителя Вашего сайта будут отображаться объявления именно из его города/региона (если данный город/регион задан в соответствующем свойстве на Вашем сайте).

На редакции "Малый бизнес"

Функционал так же будет работать, за исключением автоматического определения. При заходе на Ваш сайт у посетителя будет выбран город по-умолчанию, который при необходимости он всегда сможет сменить в шапке сайта.
8. Где и как можно изменить иконки, например иконку местоположение?

В данном решении иконки сделаны с помощью иконочного шрифта где они хранятся в векторе, а не растровых картинках — это ускоряет рендеринг страницы в браузере, позволяет масштабировать иконки без потери их качества, а так же легко перекрашивать их в любой цвет. 
Для добавления других иконок необходимо создать новых класс CSS. В данном классе необходимо указать либо содержимое иконочного шрифта ( http://screencast.com/t/WpVYDbhYL ), либо путь до изображения с Вашей новой иконкой.
Для выполнения инструкции выше необходимо иметь компетенцию веб-разработчика. Либо Вы можете обратиться за доработкой специалистом под заказ.
9. Каким образом можно задать дату окончания активности группы объявлений?

Необходимо настроить форму списка объявлений в административном разделе, чтобы выводилось поле "Окончание активности"
Скриншот http://screencast.com/t/dUfFr4rTSmtT
В этом поле Вы можете проставить дату окончания активности и данные объявления перестанут отображаться в публичной части сайта в указанную дату (время). После при необходимости Вы можете их полностью удалить с сайта.
Отредактировать данное поле у множества элементов можно следующим образом
Скриншот 1 http://screencast.com/t/2UgGGLwIFlL
Скриншот 2 http://screencast.com/t/Ol6XQU8Nq
10. Как изменить на главной странице начальную активность раздела в фильтре http://screencast.com/t/tWHUAxMmi?

На следующих скриншотах пояснено как поменять активность вкладки
1) http://screencast.com/t/0E1lICl0vq3
2) http://screencast.com/t/hLpbpHv5
3) http://screencast.com/t/R04QejDrEkw
4) http://screencast.com/t/Jv2ueb6HRb
11. Где можно изменить, чтобы цена отображалась в рублях (р.) ? (По умолчанию отображается в тысячах рублей (т.р.))
Для этого необходимо отредактировать языковую фразу в следующем файле
/bitrix/modules/yenisite.realty/lang/ru/classes/general/CYSRealtyCatalogUtils.php

Скриншот http://screencast.com/t/hR9wV6IFQsvL
12. Как настроить премодерацию?
Для настройки премодерации, необходимо перейти в настройки инфоблока, во вкладку
свойства, создать новое свойство с кодом "STATUS", тип "список".
13. Как сообщить пользователю о том, что его объявление не прошло модерацию?
Для сообщения пользователю о том что его объявление "Не прошло модерацию"
необходимо создать свойство "WRONG_AD", типа "строка",  и в редактировании элемента (объявления)
инфоблока ввести сообщение в данное свойство.
14. У меня не выводятся свойства "Статус" и "Сообщение для объявления не прошедшего модерацию", в форме редактирования элемента, что делать?
Для того, чтобы свойство "Статус" и "Сообщение для пользователя" выводились в форме
редактирования элемента (объявления) инфоблока, необходимо:
1 находясь в режиме редактирования элемента нажать на иконку шестеренки, в правом
верхнем углу формы редактирования.
2. в открывшейся форме нажать в левой колонке на элемент
3. выбрать в появившемся списке свойства "Статус" и "Сообщение для пользователя".
4. нажать в правой колонке на "элемент".
5. нажать на нижнюю стрелку, с обозначением ">"
6. сохранить изменения.
15. Как обновить решение до версии 1.3.0?
Как обновить решение до версии 1.3.0:
1. перед обновлением рекомендуется сделать резервную копию старого шаблона решения
2. скачать обновление решения с маркет-плейса
3. скопировать шаблон решения из папки модуля решения (bitrix/modules/yenisite.realty/install/wizards/yenisite/realty/site/templates/realty) в папку шаблонов битрикс (bitrix/trmplates)
4. скопировать папку компонентов из модуля решения (bitrix/modules/yenisite.realty/install/wizards/yenisite/realty/site/services/main/components) в папку компонентов битрикс (bitrix/components)
5. перерегистрировать обработчики событий:

UnRegisterModuleDependences("iblock", "OnAfterIBlockElementUpdate",'yenisite.realty', "CYSRealtyHandlers", "OnAfterIBlockElementUpdateHandler","", '');
UnRegisterModuleDependences("iblock", "OnAfterIBlockElementAdd",'yenisite.realty', "CYSRealtyHandlers", "OnAfterIBlockElementAddHandler","", '');
UnRegisterModuleDependences("sale", "OnSalePayOrder",'yenisite.realty', "CYSRealtyHandlers", "OnSalePayOrder","", '');

RegisterModuleDependences("sale", "OnSalePayOrder", 'yenisite.realty', "CYSRealtyHandlers", "OnSalePayOrder",100, "", array('ID вашего сайта'));
RegisterModuleDependences("iblock", "OnAfterIBlockElementUpdate",'yenisite.realty', "CYSRealtyHandlers", "OnAfterIBlockElementUpdateHandler",100, "", array('ID вашего сайта'));
RegisterModuleDependences("iblock", "OnAfterIBlockElementAdd",'yenisite.realty', "CYSRealtyHandlers", "OnAfterIBlockElementAddHandler",100, "", array('ID вашего сайта'));

6. создать свойство со статусами, и свойство для сообщения пользователю о том, что его объявление не прошло модерацию. см. FAQ(Как сообщить пользователю о том, что его объявление не прошло модерацию?),
FAQ(Как настроить премодерацию?) и FAQ(Какие статусы бывают?)
16. Как организовать платное размещение объявлений в блоке спецпредложение ?
Товары попадают в спецпредложения если у них отмечено данное свойство http://screencast.com/t/rYb4D5m2Q4G 

Платное размещение в блоке спецпредложение можно сделать следующим образом:

1) Включаете Платное добавление объявлений: http://screencast.com/t/AAH2zx3l2

2) Создаете 2 тарифа: http://screencast.com/t/VMExfhEiPeuR
- стандартное размещение (0 руб.)
- размещение в блоке спецпредложения (50руб.)

3) При добавлении объявления на сайт оно будет иметь статус "Не опубликовано"
Чтобы его опубликовать необходимо в личном кабинете в разделе мои объявления отметить данное объявление и нажать опубликовать
http://screencast.com/t/RXIqSzguH3

4) После этого клиент попадет на страницу выбора тарифа
http://screencast.com/t/WYZTUFdwnvKg

5) Когда клиент оплатит заказ , вы увидите данный заказ в административной части с указанным тарифом и номером объявления. http://screencast.com/t/tt0M8zgcD

6) Устанавливаете для данного объявления свойство "спецпредложения" http://screencast.com/t/AAH2zx3l2
17. Как добавить пункт меню "Подробнее о платных опциях"?
Для того чтобы добавить новый пункт меню "Подробнее о платных опциях", включите режим правки на любой странице сайта:
2016.04.11-09.57.16.jpg
наведите курсор на главное меню, и нажмите "редактировать пункты меню":
2016.04.11-10.01.16.jpg

в открывшемся меню, нажмите кнопку "вставить пункт", и введите путь до меню и название как показано на скриншоте:
2016.04.11-10.03.52.jpg


18. Как настроить платные опции?
Все опции задаются в инфоблоке, где вы можете поменять для них цену или описание, изменить время, на протяжении которого будет работать опция. Для того, чтобы указать из какого инфоблока выводить опции, воспользуйтесь следующими параметрами в компонентах catalog и realty.personal.cabinet:
2016.04.11-10.24.27.jpg

ad96f5a52e76040837a7d957e608e544.jpg
19. Настройка SEO
В
- Заголовке страницы (<H1>):     
- Заголовке окна браузера (<TITLE>):     
- Ключевых словах     
- Описании страницы
есть возможность выводить выбранный пользователем город объявлений (при вкюченной многогородовости).
Для этого в
- Настройках SEO / http://www.screencast.com/t/CYtlqHAmxNUm -> http://screencast.com/t/4r36cnlB8
- Свойствах раздела / http://screencast.com/t/jxsjNMdrb8 -> http://screencast.com/t/kSG1fKnfuFlf
- Заголовке и свойствах страницы / http://screencast.com/t/xQJgAyuoWr -> http://screencast.com/t/nDSlbsIixJbi
- Редактировании инфоблоков, разделов и страниц на вкладке SEO / http://screencast.com/t/lJxV5HkrwJKd -> http://screencast.com/t/ZFPNS91Dq
нужно ввести маску #LOCATION#
http://screencast.com/t/c4Y3wXsUArc
#LOCATION# будет заменено на название города объявлений, который был выбран посетителем или был автоматически определен.
http://screencast.com/t/6LAYm3tgz -> http://screencast.com/t/nT9mIm8Xj5
В редактировании инфоблоков в «Настройки для элементов» рекомендуется вместо маски вставить значение свойства элемента GEOLOCATION - {=this.property.GEOLOCATION}
20. Как настроить многогородовость?
Настройку многородовости можно разбить на 2 части:

1. Настройка параметров модуля RealtyMarket, ответственных за работу многогородовости.

http://screencast.com/t/ELMNcf8K

Настройте основные параметры
Включите многогородовость → Выберите свойство с местоположениями объявлений (стандартно свойство с кодом GEOLOCATION) → Задайте текст около списка местоположений (если поле остается пустым, вставляется текст по умолчанию - "Выбранный регион")

Далее настройте дополнительные параметры.

2. Настройка свойства с местоположениями объявлений.

В форме редактирования инфоблока объявлений в настройке свойств элементов свойство с местоположениями объявлений выбранное на предыдущем шаге (стандартно "GEOLOCATION") → В значения списка вводите необходимые Вам города. НЕ нужно вносить в список пункт отвечающий за все города, он будет включен автоматически.

http://screencast.com/t/UpfLjlWLx7Shttp://screencast.com/t/zdCoARogzp
21. Правки для включения многогородовости при обновлении до версии 1.5.0
При обновлении с безмногогородовой версии до многогородовой, необходимо провести некоторые манипуляции.

В папке сайта (можно посмотреть в Настройки > Настройки продукта > Сайты > Список сайтов) внести изменения в следующие файлы:

Папка_сайта\catalog\spec\index.php
Папка_сайта\include_areas\header\stat.php
Папка_сайта\include_areas\index\section_slider.php
Папка_сайта\include_areas\index\spec.php
Папка_сайта\include_areas\index\stat.php



1. Папка_сайта\catalog\spec\index.php

До вызова компонента bitrix:catalog.section заменить код:

global $arrFilter;
$arrFilter = array(
'!PROPERTY_SPEC' => false,
"SECTION_GLOBAL_ACTIVE"=>"Y"
);
$arPublishFilter = CYSRealtyPublishUtils::getPublishFilter("#CATALOG_IBLOCK_ID#");
$arrFilter = array_merge($arrFilter, $arPublishFilter);

на:

global $arrFilter;
global $arrSpecFilter;
$arrSpecFilter = $arrFilter;
$arrSpecFilter = array_merge($arrSpecFilter, array('!PROPERTY_SPEC' => false,
"SECTION_GLOBAL_ACTIVE"=>"Y"
));


В компоненте ниже - bitrix:catalog.section заменить значение параметра FILTER_NAME с "arrFilter" на "arrSpecFilter".


http://screencast.com/t/H0GBFIOKS → http://screencast.com/t/Muohu8fvw1K





2. Папка_сайта\include_areas\header\stat.php

Добавить строку

global $arrFilter;

до вызова компонента yenisite:catalog.info

Добавить

"FILTER_GEOLOCATION" => $arrFilter,

в параметры компонента yenisite:catalog.info

http://screencast.com/t/pIxBOn6Uvf → http://screencast.com/t/L7PvH6QWLB





3. Папка_сайта\include_areas\index\section_slider.php

Добавить строку

global $arrFilter;

до вызова компонента bitrix:catalog.section.list

Добавить

"FILTER_GEOLOCATION" => $arrFilter,

в параметры компонента bitrix:catalog.section.list

http://screencast.com/t/dNbBq1n1Rx → http://screencast.com/t/jZJ4qQv1Sg6





4. Папка_сайта\include_areas\index\spec.php

До вызова компонента bitrix:catalog.section заменить код:

global $arrFilter;
$arrFilter = array(
'!PROPERTY_SPEC' => false, 
"SECTION_GLOBAL_ACTIVE"=>"Y"
);
$arPublishFilter = CYSRealtyPublishUtils::getPublishFilter("#CATALOG_IBLOCK_ID#");
$arrFilter = array_merge($arrFilter, $arPublishFilter);

на:

global $arrFilter;
global $arrSpecFilter;
$arrSpecFilter = $arrFilter;
$arrSpecFilter = array_merge($arrSpecFilter, array("!PROPERTY_SPEC" => false, 
"SECTION_GLOBAL_ACTIVE"=>"Y"
));


В компоненте ниже - bitrix:catalog.section заменить значение параметра FILTER_NAME с "arrFilter" на "arrSpecFilter".

http://screencast.com/t/WXRvdtOq → http://screencast.com/t/6OKdgIXfN





5. Папка_сайта\include_areas\index\stat.php

Добавить строку

global $arrFilter;

до вызова компонента yenisite:catalog.info

Добавить

"FILTER_GEOLOCATION" => $arrFilter,

в параметры компонента yenisite:catalog.info

http://screencast.com/t/ghYZaNl3B8w0 → http://screencast.com/t/NJEeGBhZ








22. При переходе из раздела в раздел "скачет" выбранный регион многогородовости (проблемы с ключом композита)
В настройках композитного сайта (http://screencast.com/t/NQzIqPYdj) внести bbs_location в исключения параметров для сохранения страниц на диск. http://screencast.com/t/P40g5dWug
23. Как заменить иконки в блоке преимущества?
Иконки в блоке преимущества загружаются из самого шаблона:
https://www.screencast.com/t/QCiSvysv

Поэтому есть 2 пути:
1) По этому же пути загрузить свои иконки с таким же названием.
2) Либо загрузить иконки в любую папку на сайте, а затем, в файле benefits.php прописать путь до иконки:
https://www.screencast.com/t/eHwrkXIB8wDE

Константа <?=SITE_TEMPLATE_PATH?> определяет путь до шаблона, это значит, что она обращается по пути bitrix/templates/ПАПКА_ВАШЕГО_ШАБЛОНА

Аналогично делается и для иконок в боке, которые выводятся на детальной странице.
24. Товар из деактивированного раздела есть в поиске
Если вы деактивировали раздел, а товары из него можно найти через модуль поиска:
Элементы в разделе не деактивируются автоматически. Их нужно деактивировать в ручную или при помощи API продукта.
Можно выбрать элементы конкретного раздела (подраздела) через CIBlockElement::GetList
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php

Затем в цикле деактивировать каждый CIBlockElement::Update:
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/update.php

Если у вас возникнут сложности-наш отдел внедрений поможет вам написать скрипт для деактивации всех товаров в деактивированном разделе.
1. Как в форме добавления объявления сделать так, чтобы менялись поля при смене выбранной категории (раздела)  (доступно с версии 1.1.0)?

Для этого сначала необходимо настроить привязку свойств к конкретным разделам. Это стандартный функционал платформы и более подробно о настройке можно прочитать в данной статье
После этого необходимо выбрать все эти свойства в соответствующем параметре комплексного компонента - скриншот...
Теперь при смене категории объявления у Вас будет меняться набор выводимых полей: 
Пример1
Пример2
2. Нюансы при использовании PHP7
При использовании на сервере с установленным решением PHP версии 7, есть вероятность столкнуться с рядом проблем в платформе 1С-Битрикс

1. ошибка в мастере установки решения  -
/bitrix/wizards/yenisite/bitronic2/site/services/.services.php
Using $this when not in object context 
$wizard = &$this->GetWizard();

Для исправления данной ошибки необходимо в следующих файлах
  • bitrix/modules/yenisite.[module]/install/wizards/yenisite/[module]/site/services/.services.php
  • bitrix/wizards/yenisite/[module]/site/services/.services.php

заменить строку 
$wizard = &$this->GetWizard();
на
$wizard = \Yenisite\Core\Wizard\Main::getCurrentWizard();

А также убедитесь, что у Вас установлен модуль "Служебные инструменты ROMZA (yenisite.core)" версии не ниже 1.6.0

2. ошибка в компоненте баннеров - 
Using $this when not in object context (0)
/bitrix/modules/main/classes/general/component_template.php:285
#0: CBitrixComponentTemplate::ApplyCachedData(array)

Данная ошибка зафиксирована специалистами 1С-Битрикс. До её исправления в ядре платформы как временное решение проблемы возможно отключить кеширование данных компонент - http://screencast.com/t/sQXULOMa5



3. Нюансы при использовании HTTPS
Если Вы перевели Ваш сайт на использование защищенного протокола HTTPS, то возможно Вы столкнетесь со следующими сложностями, пути решения которых описаны ниже:

  • модуль "Расшаривание материалов" - если данный модуль используется на Вашем сайте, то для корректной работы на HTTPS протоколе необходимо соответствующим образом кастомизировать его. Для этого в файле \bitrix\components\bitrix\asd.share.buttons\component.php необходимо произвести следующие кастомизации - http://screencast.com/t/zzpAdZA8eN 

  • модуль "Все виджеты ВКонтакте" - если данный модуль используется на Вашем сайте, то для корректной работы на HTTPS протоколе необходимо соответствующим образом кастомизировать его. Для этого в файле \bitrix\components\primepix\vkontakte.group\component.php необходимо произвести следующие кастомизации - http://screencast.com/t/XtDpJiAXZ

  • модуль "ИнфоКом: Обратная связь Reformal.ru" - если данный модуль используется на Вашем сайте, то для корректной работы на HTTPS протоколе необходимо соответствующим образом кастомизировать его. Для этого в файле \bitrix\components\infocom\reformal\templates\.default\template.php необходимо произвести следующие кастомизации - http://screencast.com/t/Sh8CfPfh

  • модуль "ИнфоКом: Комментарии ВКонтакте" -  если данный модуль используется на Вашем сайте, то для корректной работы на HTTPS протоколе необходимо соответствующим образом кастомизировать его. Для этого в файле \bitrix\components\infocom\vkcomments\templates\.default\template.php необходимо произвести следующие кастомизации - http://screencast.com/t/lz7od4YL1


Если у Вас возникнут сложности с любым из указанных пунктов, с удовольствием поможем Вам в нашей технической поддержке.
4. Почему композитный кеш не работает при открытии одного и того же сайта с поддоменом www и без него?
Сценарий:
Я открываю главную страницу своего сайта domain.ru. Для нее создается композитный кеш, а в браузере сохраняется кука BITRIX_SM_PK с ключом композита, но она только для домена domain.ru.
Если я открою этот же сайт по адресу www.domain.ru, то в браузере не будет этой куки, а страница загрузится в обычном режиме без композитного кеша.

Вопрос:
Как сделать, чтобы для обоих доменов www.domain.ru и domain.ru был общий композитный кеш?

Ответ:
Подход в корне неверен. Основной домен и его поддомен www не обязательно открывают один и тот же сайт. Если же у вас открывается один и тот же сайт, то нужно настроить редирект с основного домена на поддомен www или наоборот. Это позволит избежать дублей в поисковых системах, унифицировать композитный кеш и избавит от множества других проблем.
Для настройки редиректа необходимо вписать в конфигурацию сервера Apache (или .htaccess конкретного сайта) следующие строчки

RewriteCond %{HTTP_HOST} ^domain.ru
RewriteRule (.*) http://www.domain.ru/$1 [R=301,L]