Как использовать HTML5 Boilerplate в ZPT?

Я пытаюсь обновить одно из наших старых приложений на основе ZPT, и я хотел бы реализовать следующую передовую методику HTML5 Boilerplate для добавления условных классов IE в <html>,

<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

Так как я использовал эту технику на многих сайтах, не относящихся к ZPT, я не особо задумывался о ней, однако, когда я приступил к ее реализации, я столкнулся с несколькими проблемами.

  1. ZPT удаляет комментарии HTML, поэтому в отображаемом источнике отсутствуют условные комментарии.
  2. Мы используем макрос всей страницы, чтобы определить шаблон страницы для повторного использования, и это определение происходит в <html> элемент вроде так, <html metal:define-macro="page">, Даже когда я получаю условные комментарии, кажется, что моим следующим препятствием будет правильное определение макроса страницы.

Кто-нибудь может пролить свет на любой из этих вопросов?

1 ответ

Это странно, zpt не удаляет комментарии. Может быть, это конкретная реализация zpt, кто это делает? В любом случае, вы пытались использовать tal:replace="strucutre string:...."

<metal:macro metal:define-macro="page">
<tal:doctype tal:replace="structure string:&lt;!DOCTYPE html&quot;&gt;" />
<!-- If the comments are eaten, you can generate them using the same trick that
     tal:doctype above -->

</metal:macro>
Другие вопросы по тегам