我是模板工具包的新手,试图更新一些现有的模板,所以我感谢任何收到的帮助。
我设置了一个条件语句,用于检查模块的名称,然后将该名称输出为dirified HTML ID(例如“This is a Title” - >“this_is_a_title”)。
代码:<div [% IF Tag.module_name %]id="[% Tag.module_name | dirify %]"[% END %]>
但是,在某些情况下,输入的标题已包含在HTML注释中。这是我无法控制的,所以我想做的就是以某种方式解决这个问题。我想要:
目前,带有HTML评论的标题的输出最终为<div id="">
,这很难看。我已经尝试找到我需要的代码,并完成了多个搜索解决方案,但我似乎无法解决它。这是可能的还是我需要接受空ID?
更新:在dirify过滤器之前传递一个额外的HTML过滤器,最终用于删除HTML注释并将剩余的文本取消。使用[%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">
输出{{1}}(或者任何最终标题的结果)。
答案 0 :(得分:0)
这可能会满足您的需求:
[%- SET dirified = Tag.module_name FILTER dirify;
IF dirified; -%]
<div id="[% dirified %]">
[%- ELSE -%]
<div>
[%- END-%]
如果没有HTML评论问题的具体示例,很难说。