2013-04-01 1 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 주석을 사용하여 현재 HTML과 제목에 대한 출력 추한 인 <div id="">로 끝나는 댓글 모두

에서 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