2013-04-01 33 views
0

我是模板工具包的新手,嘗試更新一些現有模板,因此非常感謝所收到的任何幫助。當通過條件語句傳遞時打印HTML註釋

我已經設置了一個條件語句來檢查模塊的名稱,然後將該名稱輸出爲一個簡化的HTML ID(例如「This is a Title」 - >「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註釋並將其餘的文本解析出來。使用[%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">(或者任何簡化的標題結束)。

回答

0

這可能會做你的需要:

[%- SET dirified = Tag.module_name FILTER dirify; 
    IF dirified; -%] 
    <div id="[% dirified %]"> 
[%- ELSE -%] 
    <div> 
[%- END-%] 

沒有問題的具體例子與HTML註釋就很難說了。

+0

謝謝,@RET。這段代碼對我來說不起作用,但它讓我嘗試了一些我以前不知道的事情。最後,事實證明,在Dirify過濾器爲我的需要工作之前,通過了HTML過濾器。例如'[%ATTag.list_name | html | dirify%]'。 – brianna