问题标签 [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 投票
2 回答
418 浏览

python - 变色龙中的换行

我已经使用金字塔框架构建了一个大型 Web 应用程序。

除其他外,此应用程序允许用户在文本区域表单域中输入文本。然后将该文本保存到数据库中,当然可以再次读取并稍后显示。

为了显示内容,我使用了Chameleon Template Engine

这工作正常,除了换行符显示不正确(根本不显示)。这可能是因为当通过 Chameleon 显示时,输入到文本区域的换行符不会导致 HTML 中的换行符。如何解决这个问题?

用 -Tags 替换换行符没有帮助,<br>因为默认情况下,Chameleon 会转义所有 HTML-Tags。我知道可以停用此功能,但我不想这样做以避免跨站点脚本。

0 投票
1 回答
374 浏览

caching - sql alchemy + 金字塔,“请求缓存”

我正在制作一个网站,使用金字塔、sqlalchemy 和 chameleon... 在 vi​​ew.py 上我发送 sqlalchemy:

和变色龙:

但是 sqlalchemy “user.minions.count()” 运行了两次,所以我在模型上添加了这个:

并开始使用“NumFixedMinions”而不是“.count()”,但这使得 _NumFixedMintions 定义,直到我重新启动服务器,我错过了什么吗?或者有没有办法只在请求期间制作一个简单的“缓存”..

ps:这不是真正的代码,因为网站是模块化的,所以很难知道什么时候会被使用两次

0 投票
1 回答
391 浏览

plone - Plone 4 Zope 显示特定文件夹 TALES 的内容

问题

我有一个客户希望在他们的搜索页面上显示某个文件夹(包含图像)的全部内容,如果搜索返回 0 结果。该文件夹位于 mysite.com/images

设置:

作为测试环境,我设置了一个具有以下结构的单独站点:

我修改了folder_summar_view模板,以包含以下代码(我决定修改一个视图,看看我是否可以将它分解成碎片以使其执行我想要的操作):

我所看到的:

我尝试过的事情和进一步的解释

我假设当context/images/getFolderContents我的图像文件夹中的“对象”返回大脑时,我可以使用tal:repeat下面的语句遍历每个“对象”。然后将它们显示在我的页面上。

如果我只使用以下代码:

我的输出与上面的“我看到的”部分非常相似:

其中 [...] 是另一个数字

我一直在做一些研究并阅读 Plone Theming 这本书,但我的代码类似于第 169 页tal:repeat上的示例,似乎唯一的区别是他们没有在大脑上使用它(据我所知)。

我试过这个,虽然它产生了相同的结果(不知道为什么我坚持它不会):

我似乎无法“进入”返回的大脑。我在网上寻找的所有东西都没有太大帮助,我还浏览了atct_album_view模板folder_listings以了解是否有用。- 我认为我忽略或遗漏了一些东西。

我偶然发现的第一个链接是 this,但是从那以后我继续前进,尽管相似,但这并不是我想要做的。

他们聊天室里的 Plone 人很友好地给了我这个context/images/getFolderContents声明,我试图在没有再次寻求帮助的情况下继续前进,但似乎我碰壁了。

更多我尝试过的东西

使用此链接作为灵感,我决定尝试以下方法:

但是当我尝试查看模板时会引发错误。错误的意思是“getFolderContents 大脑没有属性 getURL”——虽然image/Title显示了文件夹的名称,但这并不是我真正需要的。

我也找到了这个链接,但是因为我正在使用默认搜索,我真的不想编辑 python 脚本,因为我担心它可能会对正常的 Plone 站点搜索产生不利影响。同样在这个链接中,他们似乎正在使用更多的 Python 脚本。- 为了扩展这一点,我不确定这些脚本如何与页面模板“链接”(它们如何知道彼此“交谈”)。

结论

总之,我需要显示位于我网站根目录的名为“images”的文件夹中包含的所有图像,我无法使用getFolderContents. 除了显示“图像”文件夹的标题或大脑识别(<Products.ZCatalog.Catalog.mybrains object at 0x9d2ddb8>)之外,我没有运气。欢迎任何帮助或想法!

0 投票
1 回答
260 浏览

python - 在 Chameleon 中使用代码块时出现 builtins.NameError

我希望这个片段能够工作:

相反,它失败了:

作为背景,我们的想法是避免每年都更新年份:

0 投票
1 回答
2073 浏览

macros - 如何在金字塔 / ZPT(变色龙)中使用宏

我想使用带有金字塔+ZPT 引擎(变色龙)的宏。

文档说“一个页面模板可以容纳多个宏”。 http://chameleon.readthedocs.org/en/latest/reference.html#macros-metal

因此我定义了一个文件 macros.pt

和一个全局模板main_template.pt,其中包含定义 slot 的所有 html 内容content

progress.pt以及用于main_template.pt填充插槽的我的视图模板:

到目前为止,我痛苦地发现,我不能说use-macro="main_template.pt"是因为 Chameleon 不像 Zope 那样自动加载模板。因此,我必须先添加load:片段。

来到use-macro="step-0". 这会引发 NameError step-0。我试图用类似的macros.pt东西预加载,<tal:block tal:define="compile load: macros.pt" />但这没有帮助。

如何使用宏摘要文件中收集的宏?

0 投票
1 回答
450 浏览

html - Zope (ZPT) 重叠标签

我尝试在 Zope 页面模板中使用 TAL 创建打开div标签条件并关闭div另一个条件中的标签,但不允许重叠标签。

这是我的代码:

重要的部分是:

这是错误。

我尝试使用 Python 脚本,但它也不起作用。

使用close_div脚本:

它返回&lt;/div&gt;而不是</div>

如果你想知道我为什么这样做。我有一个需要显示的树结构。由于我(认为我)不能递归地执行此操作,因此我尝试使用 LIFO 列表来模拟它。并且current是我当前的节点。

我试图实现这一点(节点是dict的dict ...用作树):

任何帮助或建议表示赞赏

0 投票
1 回答
1438 浏览

plone - 在另一个 tal:repeat 函数中获取 tal:repeat 的索引

如您所见,我有 3 个列表Procedur_HeadersDiagnosesList_Procedur. Procedur_headers给出了我的表格的标题, Diagnoses给出了一个过程的特定 id,并且 List_Procedur是一个列表(查询)的列表,其中包含了我需要的所有数据。现在我想做的是在

我可以在我的表中获取我的数据。我已经可以得到索引:

但我不能在索引的地方这样做。有没有人有这样的解决方案?

0 投票
2 回答
212 浏览

html-table - 使用 zpt 给每个表一个新的 id

我正在使用该tal:repeat语句在另一个表中生成表。可悲的是,我不知道如何在生成时为每个表赋予唯一的 id。我怎样才能做到这一点?

我正在尝试使用:

但我无法让它工作。

例子:

0 投票
1 回答
284 浏览

ajax - 使用 zpt 和 ajax 作为更新动态填充表

我正在金字塔中创建一个网络项目,我想每隔几秒更新一次表格。我已经决定使用 ajax,但我遇到了一些问题。

在客户端,我使用以下代码:

金字塔侧:

现在我想使用 tal:repeat 语句将这些数据放入带有 zpt 的表中。我知道如何在页面加载时将此数据放入表中,但我不知道如何将其与 ajax 结合使用。

anny1 可以帮我解决这个问题吗?非常感谢。

0 投票
1 回答
562 浏览

plone - 用于获取 Plone 中个人首选项字段内容的 Python 脚本

我在我的 Plone 4 站点中有一个自定义注册和 @@personal-preferences 页面,它有一些额外的字段,例如供人们粘贴其社交网络链接的区域以及他们的公司职位 - 它还显示他们的日期在网站上注册。(我使用了collective.examples.userdata来完成这个)

我可以使用以下定义成功地在页面模板中引用这些字段:

我正在尝试编写一个 Python 脚本,它将获取最后一个定义python:user.getProperty('regday')并做一些数学运算来显示他们在网站上注册了多长时间。

我的脚本正在调用 memberLength 并且在我的自定义文件夹中,我一直在使用以下方法调用它:

我已经尝试了很多事情,但经常遇到回溯错误,所以我不太确定如何告诉 Python 获取这些字段详细信息。我尝试了以下操作(下面的示例只是我试图让 python 获取字段信息):

Python脚本:

但是,它返回一个包含当前用户基本信息(用户名、描述等)的字典,那里对我没有任何用处——我的自定义字段都没有出现在这个字典中。

上面返回我的“找不到”消息,所以这也不起作用,下面的脚本也是如此:

我试过这个:

但是我收到了一条AttributeError: user回溯消息。

我也尝试了这个 tal 声明:context/userRegDay/membershipLegth但这给了我一个错误,所以我尝试了 Python 替代方案context.userRegDay.membershipLegth()——但它们没有用。

我上面的所有字段都存在于ZMI 页面的Properties选项卡中。portal_memberdata

谷歌在这里并没有给我太多帮助,我只能找到这个页面,但据我所知,它并没有真正涵盖我正在尝试做的事情。

谁能告诉我如何将我的 UserRegDay 变量传递给我的 Python 脚本?还是我对这一切都错了?

提前向任何有经验的 Plone 人道歉,他们的血压可能会因阅读我的尝试而升高。

非常感谢。