Я использую шаблоны mako в пирамиде, которая использует конструкцию ${} для подстановки переменных. Я также использую скрипт Openlayers, чтобы показать карту с функциями. Я хочу стилизовать свои функции с помощью Stylemap следующим образом:
var symbolizer = OpenLayers.Util.applyDefaults(
{externalGraphic: "images/${thumbnail}.png", pointRadius: 20},
OpenLayers.Feature.Vector.style["default"]);
var styleMap = new OpenLayers.StyleMap({"default": symbolizer, "select": {pointRadius: 30}});
var vectorLayer = new OpenLayers.Layer.Vector("thumbs", {styleMap: styleMap});
...
vectorLayer.features[0].attributes.thumbnail="sight";
vectorLayer.features[1].attributes.thumbnail="bar";
См. также Структура стилей OpenLayers.
У меня проблема в том, что mako интерпретирует переменную Openlayers ${} как свою собственную переменную, и я получаю от сервера "NameError: Undefined". Я искал некоторое время, но не смог найти решение.