Выводим данные родительского ресурса в балунах
У любого объекта на карте в плейсхолдере {$data}
хранится массив данных этого объекта. Если в балуне прописать что-то вроде {$data | print}
, то на фронт-энде мы получим примерно такую картину:
Array
(
[parent] => 13
[class] => modDocument
[list] => default
)
Здесь нас интересует элемент parent
, который содержит ID объекта родителя. Кстати, класс modDocument
означает принадлежность родителя к ресурсам.
Вот таким образом в балуне можно вывести pagetitle
родительского ресурса объекта:
{$data.parent | resource : 'pagetitle'}
Давайте представим, что нам надо в каком-то универсальном чанке, который вызывается на многих ресурсах с картой, вывести сниппет карты. Помимо этого, если текст в балунах у объектов на карте не заполнен, вывести там название родительского ресурса и какое-то TV поле. Вызов по заданным параметрам будет выглядеть примерно так:
{'!YandexMaps2' | snippet : [
'class' => 'modDocument',
'parent' => $_modx->resource.id,
'defaultBalloonContent' => '
<div><b>pagetitle</b>: {$data.parent | resource : "pagetitle"}</div>
<div><b>tv</b>: {$data.parent | resource : "name_of_tv"}</div>
',
]}
Тоже самое можно проделывать и с выводом карты через mFilter2.