Mek 99 Опубликовано: 20 июня 2018 Рассказать Опубликовано: 20 июня 2018 (изменено) Подскажите, можно ли как то передать данные из доп поля в JS файл? Сейчас, в полной новости, подключается JS файл кодом: [available=showfull]<script src="{THEME}/js/object.js" type="text/javascript"></script>[/available] Содержимое JS файла: ymaps.ready(init); function init () { var myMap = new ymaps.Map('map', { center: [55.847121, 37.525797], zoom: 17, behaviors: ['default', 'scrollZoom'], controls: ['zoomControl'] }, { searchControlProvider: 'yandex#search' }), objectManager = new ymaps.ObjectManager({ clusterize: true, gridSize: 32, clusterDisableClickZoom: true }); objectManager.objects.options.set('preset', 'islands#greenDotIcon'); objectManager.clusters.options.set('preset', 'islands#greenClusterIcons'); myMap.geoObjects.add(objectManager); myMap.behaviors.disable('scrollZoom'); objectManager.add({ type: 'Feature', id: 0, geometry: { type: 'Point', coordinates: [55.847121, 37.525797] }, }); } В новости присутствует дополнительное поле "coordinates" с заданными координатами. Как сделать, чтоб при просмотре полной новости, JS файл подставлял параметры из этого доп поля к "center" и "coordinates"? DLE 13, демо версия. Сайт weektrip.ru Изменено 20 июня 2018 пользователем Mek Цитата Ссылка на сообщение Поделиться на других сайтах
master27 38 Опубликовано: 20 июня 2018 Рассказать Опубликовано: 20 июня 2018 Дак вы его не подключайте, а разместите и используйте в нём доп. поля, нет? Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 20 июня 2018 Рассказать Опубликовано: 20 июня 2018 Автор 7 минут назад, master27 сказал: Дак вы его не подключайте, а разместите и используйте в нём доп. поля, нет? Пробовал вставить этот код в шаблон полной новости, но он не работает. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 072 Опубликовано: 20 июня 2018 Рассказать Опубликовано: 20 июня 2018 1 час назад, Mek сказал: Подскажите, можно ли как то передать данные из доп поля в JS файл? Нет конечно. Его загружает браузер напрямую без всяких других скриптов, и без участия DLE. 31 минуту назад, Mek сказал: Пробовал вставить этот код в шаблон полной новости, но он не работает. Смотрите ошибки в консоле браузера. Там все показывает, все ошибки. По ним вы можете понять что делаете неправильно. Цитата Ссылка на сообщение Поделиться на других сайтах
proba 57 Опубликовано: 20 июня 2018 Рассказать Опубликовано: 20 июня 2018 Взгляните на Yandex Maps - модуль Яндекс карт для DLE, возможно чем-то поможет. Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 20 июня 2018 Рассказать Опубликовано: 20 июня 2018 Автор Частично разобрался. Вставил JS код в main.tpl Данные с координатами из доп поля в переменную передал: geocoor = '[xfvalue_coordinates]'; Но подставить эту переменную в coordinates: [55.847121, 37.525797] не получается. Консоль браузера выдаёт ошибку: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Errors/Unexpected_type Если я правильно понял, то "coordinates: [55.847121, 37.525797]" это массив, а я подставляю текстовое поле. Понятно что это вопрос уже не по DLE, но может кто из знающих подскажет как мне решить данную задачу? Проблему можно наблюдать по ссылке: https://weektrip.ru/4-dolgoprudnyj.html Карта есть, а метки на карте нету. Если вставить статично: coordinates: [55.847121, 37.525797] Метка есть. А если через переменную,сейчас именно так: coordinates: 'geocoor' то нету. Цитата Ссылка на сообщение Поделиться на других сайтах
Mek 99 Опубликовано: 20 июня 2018 Рассказать Опубликовано: 20 июня 2018 Автор Всем спасибо. Разобрался сам. Нужно было вставлять coordinates: [[xfvalue_coordinates]] (в двойных квадратных скобках). И убрать у допполя галочку: Безопасный режим поля (отключить поддержку BB тегов и HTML) Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.