Зеркальный инфоблок — это контейнер, который позволяет выводить даные из других разделов. Фактически зеркальный инфоблок является аналогом функции nc_objects_list(), но является удобнее по некоторым причинам:
Для внедрения зеркального инфоблока нужно при добавлении инфоблока указать раздел, из которого будут браться данные. Функцию и параметры функции, при этом, прописывать никуда не нужно, все параметры определяет шаблон используемого компонента.
Если исходный инфоблок находится в разделе /news/, а вы пишете вызов функции в макете раздела /about/, то ссылка на полный вывод объекта будет «/news/item_1.html». В случае использования зеркального инфоблока ссылки на просмотр объекта будут формироваться исходя из раздела-расположения, в данном случае «/about/item_1.html». Аналогичным образом будет формироваться и постраничная навигация.
Для того, чтобы обычный инфоблок сделать зеркальным, нужно в настройках инфоблока указать компонент, откуда будут браться данные:
Зеркальные компоненты следует использовать, в частности, в следующих случаях:
Разработка мобильной версии сайта. Некоторые разделы мобильного сайта (каталог товаров, новости, контакты) физически хранятся на основном сайте, но должны выводиться на мобильном — в адаптированной для мобильных сайтов верстке. Для реализации этой задачи нужно создать мобильный шаблон компонента (например, товары) и в соответствующем разделе мобильного сайта («Товары») добавить зеркальный инфоблок, указав в качестве источника инфоблок основного сайта, а в качестве шаблона — мобильный.
Необходимо на странице «О компании» вывести часть фотографий из раздела «Менеджмент компании». В этом случае необходимо добавить к разделу еще один инфоблок (зеркальный), указав в качестве источника инфоблок «Менеджмента компании». Формат отображения, условия выборки определяются на уровне шаблона компонента «Менеджмент компании».
А можно ли при использовании зеркального инфоблока сделать, чтобы ссылки на полный вывод объекта формировались не как приведено в примере, а на объект исходного инфоблока?
Можно ли вывести форму добавления объекта компонента заказ с помощь зеркального инфоблока на главной странице? В настройках зеркального инфоблока указываю "действие по умолчанию: добавление", но выводит список заказов, а должен форму добавления. В разделе, к которому компонент непосредственно прикреплен настройка "действие по умолчанию: добавление" работает корректно - выводит форму добавления заказа. P.S. Netcat 5.2 (обновить до 5.3 пока нет возможности).
Проблема, видимо, не в зеркальном инфоблоке, а в действии по умолчанию для блока в общем. Т.к. создал отдельный инфоблок заказ, где так же указал действие по умолчанию "добавление" - все равно выводит листинг объектов. Эта проблема присутствует только если в разделе задан способ отображения инфоблоков на странице "выводить на одной странице". Если установить "выводить только первый инфоблок", в таком случае отображается форма добавления.
Хотелось бы иметь возможность, например в списке объектов, знать зеркальный инфоблок или нет и если зеркальный, то откуда берутся данные.
М.б. есть какая-либо перемененная отвечающая за это?
! Зеркальность инфоблока можно определить по параметру $current_cc['SrcMirror']
Для основного инфоблока значение = 0, а для зеркального значение = $cc выводящего инфоблока.
Комментарии 7
М.б. есть какая-либо перемененная отвечающая за это?
Для основного инфоблока значение = 0, а для зеркального значение = $cc выводящего инфоблока.