我是 Template Toolkit 的新手,正在尝试更新一些现有的模板,因此我感谢收到的任何帮助。
我已经设置了一个条件语句来检查模块的名称,然后将该名称输出为一个 dirified HTML ID(例如“这是一个标题”->“this_is_a_title”)。
代码:<div [% IF Tag.module_name %]id="[% Tag.module_name | dirify %]"[% END %]>
但是,在某些情况下,输入的标题已包含在 HTML 注释中。这超出了我的控制范围,所以我想做的就是以某种方式解决这个问题。我想:
- 剥离评论标签,留下评论文本本身,以便它仍然可以用于 ID;或者
- 忽略使用 HTML 注释的标题,根本不插入 ID 属性
目前,带有 HTML 注释的标题的输出结果为<div id="">
,这很难看。我已经尝试找到我需要的代码,并多次搜索解决方案,但我似乎无法解决。这可能吗,还是我需要接受空 ID?
更新:在 dirify 过滤器之前为 HTML 传递了一个额外的过滤器,最终工作以删除 HTML 注释并 dirifying 剩余的文本。使用 [% ATtag.list_name | html | dirify %] 有助于输出格式<!--This is a Title-->
为this_is_a_title
. 我还能够将上面的原始代码示例简化为简单<div id="[% Tag.module_name | html | dirify %]">
的输出<div id="this_is_a_title">
(或任何 dirified 标题最终是什么)。