有人可以解释一下这些“tal”命令在我的html标签中做了什么吗?我了解到它们是文本属性语言命令,但不清楚它们的作用。
<div tal:condition="myvar">
Your command returns:<br><tal:block tal:content="myvar"></tal:block>
</div>
他们正在评估条件吗?或占位符?请解释一下。
答案 0 :(得分:1)
您可能希望熟悉&#34;传统&#34;模板语言看起来像这样:
<?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 aware ,它使用HTML语法作为其自己语法的一部分。
<div tal:condition="myvar">
Your command returns:<br><tal:block tal:content="myvar"></tal:block>
</div>
它以与浏览器相同的方式解析HTML,并使用HTML元素上的属性来更改模板。在上面的示例中,将显示或删除整个div
,具体取决于myvar
的值。它与上面的其他两个例子完全相同。
优点是双重的: