mako 和 Openlayers 之间的变量替换冲突

发布于 2024-11-08 04:39:37 字数 765 浏览 0 评论 0原文

我在金字塔中使用 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:未定义”。我搜索了一段时间但找不到解决方案。

I am using mako templates in pyramid which uses the ${} construct for variable substitution. I also use an Openlayers script to show a map with features. I want to style my features with Stylemap like so:

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";

See also The OpenLayers Styles Framework.

The problem I have is that mako interprets the Openlayers ${} variable as its own variable and I get a "NameError: Undefined" from the server. I have searched a while but could not find a solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

﹂绝世的画 2024-11-15 04:39:37

我发现的最简洁的解决方案是:

  • “images/$${}{thumbnail}.png”

为了完整起见,tonio提到的帖子中的解决方案是:

  • “images/<%text>${thumbnail}.png”
  • “图片/${”$”}{缩略图}.png”

The most concise solution I found was this:

  • "images/$${}{thumbnail}.png"

For completeness, the ones in the post mentioned by tonio are:

  • "images/<%text>${thumbnail}.png"
  • "images/${"$"}{thumbnail}.png"
诗化ㄋ丶相逢 2024-11-15 04:39:37

据我记得,您可以使用双美元符号来转义它:

"images/${thumbnail}.png"

HTH,

编辑:呵呵,似乎我错了,请参阅 https://groups.google.com/forum/#!topic/mako-discuss/g00Qq3_FNgg

As far as I remember, you can use a double dollar sign to escape it:

"images/${thumbnail}.png"

HTH,

EDIT: Huh, seems I was wrong, see https://groups.google.com/forum/#!topic/mako-discuss/g00Qq3_FNgg

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文