标签(Tags)


在Couch中,标签几乎是唯一我们和它打交道的工具。

这些标记是根据 XML 标记建模的,因此您应该很熟悉。
与 XML 标签类似,Couch 标签要么是自闭合的,要么由一对开始标签/结束标签组成。

自闭合:

下面是一个典型的couch自闭合标签

<cms:show 'Hello World' />

开始标签/结束标签对:
这是典型的配对标签的样子

<cms:repeat count='4'>
    <h3>This heading will be repeated 4 times</h3>
</cms:repeat>

开始标签和结束标签之间的所有内容都被视为配对标签的输入。

每个 Couch 标签都以 ' <cms: ' 开头,后跟标签名称(上面示例中的showrepeat)。
名称后面可以跟零到任意数量的参数(这取决于所讨论的标签)。

根据参数和输入,标签执行某些功能(例如修改输入、创建文件夹或从某处获取内容)。如果该操作导致任何可显示的输出,则标签返回此输出,否则返回空白。

当包含 Couch 标签的模板最终在浏览器中呈现时,每个标签都会被其单独的输出替换。
因此,Couch 标签永远不会出现在返回给浏览器的 HTML 中。

 

参数

参数用于修改标签的行为。它们为标签提供有关它应该做什么的具体信息。在以下示例中,“Hello World”是一个参数,是show标签应该显示的消息。

<cms:show 'Hello World' />

在下面的例子中,'4'是参数,它是repeat标签重复它所包含的内容的次数。

<cms:repeat count='4'>
    <h3>This heading will be repeated 4 times</h3> 
</cms:repeat>

命名和未命名参数

请注意,在上面的第二个示例中,我们明确命名了参数(count='4' - 其中'count'是名称,'4'是参数的值),而在第一个示例中传递了参数无名。

在 Couch 中,命名参数完全是可选的,但是您必须确保按照标签期望的顺序传递参数。因此,例如,重复标签可以采用两个参数“count”和“startcount” ' 其中 'startcount' 应该是第二个参数。如果我们明确命名参数,例如 -

<cms:repeat count='4' startcount='1'></cms:repeat>
<cms:repeat startcount='1' count='4'></cms:repeat>

- 参数的顺序无关紧要,因为没有歧义。但是,如果我们要通过它们未命名,例如 -

<cms:repeat '1' '4'></cms:repeat>

- 以上将被解释为 count=1 和 startcount=4,这不是本意。

 

始终命名参数是一种很好的做法,除非标签只采用一个参数,例如上面的show标签,在这种情况下,永远不会有任何歧义。事实上,show标签完全忽略了您为参数指定的名称,因此

<cms:show 'Hello' />
<cms:show var='Hello' />
<cms:show foobar='Hello' />

- 所有结果都相同。

 

关于设置参数的各种方式,我们将有更多要说的,但在我们继续之前,需要了解另一个概念——变量。