问题标签 [template-tal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
1219 浏览

java - 类似于 ZPT(属性语言)的 Java 模板库

我最近一直在 python 中使用ZPT,我喜欢模板语言。我一直在为 Java 寻找类似的东西,但也找不到我喜欢的东西。最接近的是FreeMarker

我看到的 FreeMarker 和其他 Java 模板引擎的问题是它们的 JSP 样式语法允许不符合标准的 XML。我只是想知道是否有类似于 Zope 页面模板的 Java 模板引擎,因此它是一种需要有效 xml 的“属性”语言。

0 投票
3 回答
3622 浏览

templates - 如何在 tal:attributes 中使用 TALES 为同一属性设置多个值

我正在尝试在一个元素上设置多个 css 类。

不幸的是,这不起作用,因为它返回:LanguageError: Duplicate attribute name in attributes.

将这 3 种情况组合成一个表达式会变得相当复杂,因为有 6 种不同的css 状态

  • 第一+主动
  • 第一的
  • 最后+活跃
  • 最后的
  • 积极的
  • (没有任何)

我能想到两种可能的解决方案:

-> 检查每个组合内联:

-> 创建一个返回组合css类的方法

现在,有没有更好的方法,如果没有,这两个中的哪一个更好(可能是后一个,好像它变得更加复杂,内联脚本将变得不可读/不可管理)。

顺便说一句,有什么好的资源和例子ChameleonTALES(除了http://chameleon.repoze.org/docs/latest

0 投票
1 回答
1387 浏览

python - 金字塔和变色龙中的 ajax 小部件

我希望能够在服务器端轻松创建由变色龙和金字塔支持的 ajax“小部件”。

Pyramid 是否提供任何可以简化编写小部件的管道代码?

我目前的方法是我有一个使用 home.pt 作为渲染器的主视图。home.pt 使用宏 base.pt 定义页面结构并为 home.pt 提供一个插槽来填充。base.pt 还使用了我编写的登录“小部件”宏(请参阅下面的 account_login_widget.pt)。

从理论上讲,这一切听起来都很棒......我有一个可重复使用的登录小部件,可以在许多页面中使用,但我目前的方法效果不佳。我的登录小部件在其渲染器(服务器需要定义)中使用像 ${username} 这样的变量。我希望登录小部件及其呈现尽可能独立。但是以我目前的做事方式,主视图代码需要了解登录小部件的需求,并在字典中提供用户名、formrender 和其他变量。肯定不好...

我觉得我接近正确的想法,但错过了一些东西......

有什么想法吗?

基础.pt:

主页.pt:

account_login_widget.pt:

0 投票
2 回答
799 浏览

template-tal - PHPTAL 动态表生成

我发现自己为表格数据创建了很多表,并且想创建一个可以根据调用模板中定义的数据结构(而不​​是 PHP 代码)动态创建表的宏。这是一个简单的例子:

我正在寻找的是如何data从 PHPTAL 本身定义(数组结构)。我不能将其定义为 PHP(例如$tpl->data = array(...))中的模板变量的原因是因为数据的顺序和布局属于模板。因此,例如,如果我想翻转表格的 X 和 Y 轴,我应该只需要修改模板,而不是PHP 代码。


编辑:

举个例子,假设我有任意模板变量foo,barbaz. 我可以像这样在模板中使用它们:

如何将这些变量构造成行和列的二维数据结构,然后我可以将其输入到生成表的宏中?像这样的东西(注意:这实际上不起作用):

宏的所需输出将是:

之后,如果我想交换 and 的位置foobar我只需要修改模板并将 to 的定义更改datadata [bar, foo; baz]

0 投票
1 回答
2075 浏览

html - PHPTAL 条件属性

给定一个看起来像这样的金属宏:

还有一个使用如下宏的模板:

我需要向宏添加什么,以使生成的 HTML 如下所示:

我已经尝试了使用该php:表达式的各种不同方法,甚至定义了我自己的 TALES 函数,但似乎没有什么能给我我想要的东西。

浏览器将selected属性出现的任何选项视为实际选中。这意味着 , selected,selected=""等都selected="foo"将选择该选项。PHPTAL 有一个内置的attribute value | nothing语法可以解决这个问题,但这只会nothing在空的情况下回退value,这对我没有帮助,因为我需要将它与一个值进行比较。像这样的东西(不起作用):

0 投票
2 回答
1112 浏览

python - 如何使用 TAL 中定义的变量检索字典中键的值?

我在python中定义了一个字典:

我有另一个使用tal:define称为 var 定义的变量,它是“a”或“b”。当我尝试这样做时出现错误:

(然后 foo 将是 '1' 或 '2')我得到KeyError: '${var}'. 我试过了dic[$var]dic[var]等等,但它们都不起作用。如何使用以前定义的变量tal:define作为字典的键来获取其值。

0 投票
1 回答
1401 浏览

python - 在变色龙中使用基本布局模板

在金字塔文档中有一个很好的关于 UX 的教程:

http://docs.pylonsproject.org/projects/pyramid_tutorials/en/latest/humans/creatingux/step07/index.html

我注意到的一件事是在教程中,他们正在代码中明确设置和传递“全局布局”(见下文)。我认为这是不寻常且不必要的,因为我一直只使用“加载”命令,如此处的文档中所示:

http://chameleon.repoze.org/docs/latest/

这只是个人偏好问题,还是以这种方式设置和使用“全局布局”有真正的优势?

教程基础视图类:

教程模板文件:

但在我的模板文件中,我只使用:

0 投票
1 回答
472 浏览

python - 任何关于 Pyramid Web 框架中的变色龙模板的详细文档?

金字塔文档中只有对变色龙模板的简单介绍。

任何详细的文档/教程?

0 投票
1 回答
918 浏览

python - 将 Pyramid 中多个视图的渲染内容注入到一个基本模板中

我想做类似下面的事情。

我配置了以下路线:

以下观点:

有一个基本模板'templates/base.pt':

现在在我看来,我想将以下内容注入 id 为“content”的 div:

我将如何更改上面的home_viewfoo_view以便他们可以将自己的模板(home.pt、foo.pt)注入 base.pt?不知何故,我还需要将诸如${user_id}之类的数据传输到 base.pt 中。在定义我的视图时,我正在玩wrapper参数,但无法弄清楚它是如何工作的。

0 投票
1 回答
322 浏览

python - 带有标签的 POT 文件,而不是

我正在尝试从 Pyramid 项目中的模板文件中翻译文本。或多或少在这个例子中: http: //docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/chameleon_i18n.html

现在我如何摆脱<dynamic element>我的 .pot 文件的评论?我想查看其余代码及其标签。

我的变色龙模板(.pt):

我使用 Babel 和 Lingua 在 setup.py 中使用以下选项提取消息:

我的 .pot 文件中的相关输出如下所示: