Вставка Яндекс.Карт (и другого 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-теги".


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

Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">