変数置換に ${} コンストラクトを使用するピラミッドで 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" が返されることです。しばらく検索しましたが、解決策が見つかりませんでした。