Как данные из Вьюхи использовать для меток на Яндекс карте

Как данные из Вьюхи использовать для меток на Яндекс карте

В футоре вьюхи создаём Подвал: Глобальный: Нефильтрованный текст или ещё чего.
Туда пишем:

<div id="map"></div>

Данные берутся из вьюхи. Но есть и модуль - vjuha.

Например.

А в Модуле создаём Хук:

<?php

function vjuha_views_post_render(\Drupal\views\ViewExecutable $view, &$output, \Drupal\views\Plugin\views\cache\CachePluginBase $cache) {

$current_path = \Drupal::service('path.current')->getPath();
if($current_path == '/uuu'){

$t = '
{
"type": "FeatureCollection",
"features": [';

$i=0;

foreach($view->result as $r) {

$v = $r->_entity->body->value;

if ($i<5) $ik ='islands#redDeliveryIcon';
else $ik = 'islands#greenAutoIcon';
//$ik = 'islands#greenAutoIcon';

$k= $r->_entity->nid->value;

$t .= <<<JJJ
{"type": "Feature", "id": $i, "geometry": {"type": "Point", "coordinates": [$v]}, "properties": {"balloonContentHeader": "<font size=3><b><a target='_blank' href='/node/$k'>Здесь может быть ваша ссылка</a></b></font>", "balloonContentBody": "<p><a target='_blank' href='/node/$k'>$k</a></p><p>Ваше имя: <input name='login'></p><p><em>Телефон в формате 2xxx-xxx:</em><input></p><p><input type='submit' value='Отправить'></p>", "balloonContentFooter": "<font size=1>Информация предоставлена: </font> <strong>этим балуном</strong>", "clusterCaption": "Нода <strong>$k </strong>", "hintContent": "<strong>$k</strong>"}, "options": {"preset": "$ik"}},
JJJ;

++$i;
}

$t = rtrim($t, ',');

$t .='
]
}';

//print $t;

$output['rrr'] = ['#markup' => 'rrrrrrrrrr'];

$output['#attached']['drupalSettings']['myname'] = $t; // Отправляем метки в JS файл

$output['#attached']['library'][] = 'vjuha/vjuha'; // Подключаем этот JS файл

\Drupal::messenger()->addError('Сработала Вьюха');

//foreach($output as $k=>$v) print $k; print_r( $output['#view']); exit;

}

}

По моему вообще не важно где. В любом отдельном или не отдельном модуле

В файле vjuha.libraries.yml:

vjuha:

css:
base:
vjuha.css: {}

js:
"https://api-maps.yandex.ru/2.1/?apikey=df4d6dde-5649-4c58-81f6-9002379db... {type: external}
vjuha.js: {}

dependencies:
- core/drupal
- core/jquery
- core/once

Компьютер: