这些 tal:xxx 命令有什么作用?
What does these tal:xxx commands do?
谁能解释一下这些 "tal" 命令在我的 html 标签中的作用?我了解到它们是文本属性语言命令,但不清楚它们的作用。
<div tal:condition="myvar">
Your command returns:<br><tal:block tal:content="myvar"></tal:block>
</div>
他们在评估条件吗?或占位符?请解释。
您可能熟悉 "traditional" 看起来像这样的模板语言:
<?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 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 感知的并且将产生有保证的良好输出。 "Traditional" 模板语言本质上只是连接字符串,这会让您面临各种语法问题。 TAL 在抽象 DOM 级别上工作,与浏览器所做的相同。
- 您的模板始终是 "just HTML",因此您可以在不需要 PHP 或任何其他模板处理器的情况下对其进行处理。前端设计师可以完全独立于任何后端来设计和编码模板,然后将完成的代码交给后端开发人员,后者将把它与其余代码挂钩。
谁能解释一下这些 "tal" 命令在我的 html 标签中的作用?我了解到它们是文本属性语言命令,但不清楚它们的作用。
<div tal:condition="myvar">
Your command returns:<br><tal:block tal:content="myvar"></tal:block>
</div>
他们在评估条件吗?或占位符?请解释。
您可能熟悉 "traditional" 看起来像这样的模板语言:
<?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 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 感知的并且将产生有保证的良好输出。 "Traditional" 模板语言本质上只是连接字符串,这会让您面临各种语法问题。 TAL 在抽象 DOM 级别上工作,与浏览器所做的相同。
- 您的模板始终是 "just HTML",因此您可以在不需要 PHP 或任何其他模板处理器的情况下对其进行处理。前端设计师可以完全独立于任何后端来设计和编码模板,然后将完成的代码交给后端开发人员,后者将把它与其余代码挂钩。