Я новичок в Template Toolkit, пытаюсь обновить некоторые существующие шаблоны, поэтому я ценю любую полученную помощь.
Я установил условный оператор, который проверяет имя модуля, а затем выводит это имя в виде удаленного HTML-идентификатора (например, «Это заголовок» -> «this_is_a_title»).
Код: <div [% IF Tag.module_name %]id="[% Tag.module_name | dirify %]"[% END %]>
Однако в некоторых случаях введенный заголовок был помещен в HTML-комментарий. Это вне моего контроля, поэтому я хотел бы как-то обойти это. Я хотел бы либо:
- удалить теги комментариев, оставив сам текст комментария, чтобы его можно было использовать для идентификатора; или же
- игнорировать заголовки, в которых используются комментарии HTML, и вообще не вставлять атрибут ID
В настоящее время вывод для заголовков с комментариями HTML заканчивается как <div id="">
, что некрасиво. Я пытался найти код, который мне нужен, и несколько раз искал решение, но, похоже, не могу его решить. Будет ли это возможно или мне нужно будет принять пустой идентификатор?
ОБНОВЛЕНИЕ: передача дополнительного фильтра для HTML перед фильтром dirify завершилась работой по удалению комментариев 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">
(или какой-либо другой заголовок, который в итоге получается).