Вы, вероятно, надеюсь, знакомы с "традиционными" языками шаблонных, которые выглядят примерно так:
<?php if ($myvar) : ?>
<div>
Your command returns:<br><?php echo $myvar; ?>
</div>
<?php endif; ?>
или:
{% if myvar %}
<div>
Your command returns:<br>{{ myvar }}
</div>
{% endif %}
или подобные вариации этого синтаксиса. Эти языки просто выводят текст и предлагают определенные структуры управления, не более того, не что иное.
TAL is HTML-код, он использует синтаксис HTML как часть собственного синтаксиса.
<div tal:condition="myvar">
Your command returns:<br><tal:block tal:content="myvar"></tal:block>
</div>
Он анализирует HTML так же, как браузер, и использует атрибуты элементов HTML для изменения шаблона. В приведенном выше примере весь div
будет отображаться или удаляться в зависимости от значения myvar
. Он делает то же самое, что и два других примера выше.
Преимущество имеет два аспекта:
- Вы гарантированно будет производить 100% выход действует HTML, так как сама система шаблонный требует действительного HTML, является HTML осведомленными и будет производить гарантированно хороший выход. «Традиционные» языки шаблонов - это, по сути, просто конкатенация строк, что открывает вам всевозможные синтаксические проблемы. TAL работает на абстрактном уровне DOM, то же самое делает браузер.
- Ваш шаблон является «просто HTML» в любое время, поэтому вы можете работать с ним, не требуя PHP или любого другого процессора шаблонов. Дизайнер интерфейсов может конструировать и кодировать шаблон полностью независимо от любого бэкэнд, а затем передать готовый код разработчику бэкэнд, который подключит его к остальной части кода.
Вы уже отметили свой вопрос связанными тегами; возможно, вы пробовали читать документацию TAL? Что вы знаете и что не знаете? Как далеко назад мы должны пойти с объяснением? – deceze