Вставка Яндекс.Карт (и другого JavaScript) в NetCat

Вставлять JavaScript-счетчики и прочие небольшие JavaScript-скрипты в NetCat можно как в макеты дизайна, так и в компоненты.
При этом, как это заведено в NetCat, спецсимволы типа » и $ необходимо экранировать обратным \.

В данной заметке описаны методы вставки Яндекс.Карт (отличия от Карт.Гугл конечно минимальны :) просто поддерживаем отечественного производителя) в компонент «Адреса компании» CMS NetCat.

Как выше уже говорилось JavaScript-код можно вставить как в макет дизайна так и в компонент, однако бывают случаи когда такой метод не является гибким. Например, в разделе «Адрес компании» у нас имеется несколько объектов с разными адресами.

Сравним варианты интеграции карты в компонент.

1. Вставляем код вызова карты в поле «Объкт в списке» компонента «Адреса компании»:

".opt( $f_RowID==1 && $current_sub[Subdivision_Name] == 'Адрес компании', "<script src='http://api-maps.yandex.ru/1.1/index.xml?key=AILai0sBAAAAq3GRIQIAL59rrsrOlgSL5VV301v-_3ieHXwAAAAAAAAAAABc7lc6VJHC4Xh48kmX22O6Lniamw==' type='text/javascript'></script>
    <script type='text/javascript'>
        window.onload = function () {
        var map = new YMaps.Map(document.getElementById('YMapsID'));
        map.setCenter(new YMaps.GeoPoint(37.609218,55.753559), 16);
        map.addControl(new YMaps.TypeControl());
        map.addControl(new YMaps.ToolBar());
        map.addControl(new YMaps.Zoom());
  	    var placemark = new YMaps.Placemark(new YMaps.GeoPoint(37.609218,55.753559));
        placemark.setIconContent('г. Москва');
        placemark.name = 'г. Москва';
	    placemark.description = 'г. Москва';
        map.addOverlay(placemark);
        }
    </script>
	<div id='YMapsID' style='width:340px;height:260px;'></div>" )."

Таким образом для первого объекта в разделе ($f_RowID==1) в разделе Адрес компании ($current_sub[Subdivision_Name] == 'Адрес компании') мы выводим карту. То есть если понадобится вывести карту для второго объекта придется заново вызывать код формирования карты прямо в компоненте либо придумывать обходные решения вставки нескольких карт, что не является логичным решением имея ввиду гибкий функционал компонентов в NetCat.

2. Я имею ввиду возможность записать код вызова карты в созданное для этого в компоненте текстовое поле с включенной настройкой «разрешать HTML-теги».


Добавление комментария:

 css.php