Пытаюсь сделать кастомный балун для кластера, но проблема в том, что туда ничего не приходит если брать пример из документации, при том, что для стандартных просто запихиваю в body и вывожу верстку, и всё работает.
В частности:
var clusterContentLayout = ymaps.templateLayoutFactory.createClass([
'<div class="proposal__item"> \
<div class="balloon__overlay {{ properties.geoObjects[0].properties.load }}"></div> \
<div class="MapBalloon_Header"> \
<div class="MapBalloon_HeaderTitle"> {{ properties.geoObjects[0].properties.title }} </div> \
</div> \
<div class="MapBalloon_Body" style="height: auto"> \
{% for geoObject in properties.geoObjects %} \
<div class="MapBalloon_Item"> \
<div class="MapBalloon_ItemImg" style="background-image: url({{ geoObject.properties.photo }})"> \
<a href="{{ geoObject.properties.url }}"> \
<img src="{{ geoObject.properties.photo }}" alt="{{ geoObject.properties.title }}" /> \
</a> \
</div> \
<div class="MapBalloon_ItemBody"> \
<div class="MapBalloon_ItemBodyType">{{ geoObject.properties.type }}</div> \
<div class="MapBalloon_ItemBodyInfo"> \
<a href="{{ geoObject.properties.url }}">{% if geoObject.properties.rooms %} {{ geoObject.properties.rooms }}-к {% endif %}{{ geoObject.properties.type }} {% if geoObject.properties.area %}{{ geoObject.properties.area }} м<sup>2</sup>{% endif %}{% if geoObject.properties.area %} {{ geoObject.properties.floors }} эт.{% endif %}</a> \
</div> \
<div class="MapBalloon_ItemBodyPrice">{{ geoObject.properties.price }}<span class="roub-sign"> {{ geoObject.properties.currency }}</span></div> \
</div> \
</div> \
{% endfor %} \
</div> \
</div>'
].join(''));Возможно, потому что у меня динамическая загрузка аяксом:
...
var objectState = objectManager.getObjectState(objectId);
if (!objectState.isClustered) {
object.properties.load = '';
objectManager.objects.balloon.open(objectId);
} else {
objectManager.clusters.balloon.open(objectState.cluster.id);
}...
objectManager.objects.events.add('click', function (e) {
e.preventDefault();
var objectId = e.get('objectId');
setBalloonData(objectId);
});
objectManager.clusters.events.add('click', function (e) {
e.preventDefault();
var objectId = e.get('objectId');
});
//Monitor cluster changes
var activeObjectMonitor = new ymaps.Monitor(objectManager.clusters.state);
activeObjectMonitor.add('activeObject', function () {
var objectId = activeObjectMonitor.get('activeObject').id;
setBalloonData(objectId);
});