Перейти к публикации

Передача параметра из доп поля в JS файл


Рекомендованные сообщения

Подскажите, можно ли как то  передать данные из доп поля в 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

 

 

 

Изменено пользователем Mek
Ссылка на сообщение
Поделиться на других сайтах
7 минут назад, master27 сказал:

Дак вы его не подключайте, а разместите и используйте в нём доп. поля, нет?

Пробовал вставить этот код в шаблон полной новости, но он не работает.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Mek сказал:

Подскажите, можно ли как то  передать данные из доп поля в JS файл?

Нет конечно. Его загружает браузер напрямую без всяких других скриптов, и без участия DLE.

 

31 минуту назад, Mek сказал:

Пробовал вставить этот код в шаблон полной новости, но он не работает.

Смотрите ошибки в консоле браузера. Там все показывает, все ошибки. По ним вы можете понять что делаете неправильно.

Ссылка на сообщение
Поделиться на других сайтах

Частично разобрался. Вставил 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'

то нету.

Ссылка на сообщение
Поделиться на других сайтах

Всем спасибо. Разобрался сам.

Нужно было вставлять coordinates: [[xfvalue_coordinates]]

(в двойных квадратных скобках). И убрать у допполя галочку: Безопасный режим поля (отключить поддержку BB тегов и HTML)

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...