[ZF-10089] Zend_Log
[zend.git] / documentation / manual / zh / module_specs / Zend_View-Helpers-HeadMeta.xml
blobd6d50a463577579c0a0a99beb8760dd7650ad329
1 <sect3 id="zend.view.helpers.initial.headmeta">
2     <title>HeadMeta 助手</title>
4     <para>
5         HTML <code>&lt;meta&gt;</code>元素用来提供关于HTML文档的 meta 信息-如关键字,文档字符集,缓冲的 pragama 等。Meta标签可以是'http-equiv' 或 'name' 类型,必须包含'content'属性,并且也可以有 'lang' 或 'scheme' 修饰属性。
6     </para>
8     <para>
9         <code>HeadMeta</code> 助手提供下列方法来设置和添加 meta 标签:
10     </para>
12     <itemizedlist>
13         <listitem><para><code>appendName($keyValue, $content,
14                     $conditionalName)</code></para></listitem>
15         <listitem><para><code>offsetSetName($index, $keyValue, $content,
16                     $conditionalName)</code></para></listitem>
17         <listitem><para><code>prependName($keyValue, $content,
18                     $conditionalName)</code></para></listitem>
19         <listitem><para><code>setName($keyValue, $content,
20                     $modifiers)</code></para></listitem>
21         <listitem><para><code>appendHttpEquiv($keyValue, $content,
22                     $conditionalHttpEquiv)</code></para></listitem>
23         <listitem><para><code>offsetSetHttpEquiv($index, $keyValue, $content,
24                     $conditionalHttpEquiv)</code></para></listitem>
25         <listitem><para><code>prependHttpEquiv($keyValue, $content,
26                     $conditionalHttpEquiv)</code></para></listitem>
27         <listitem><para><code>setHttpEquiv($keyValue, $content,
28                     $modifiers)</code></para></listitem>
29     </itemizedlist>
31     <para>
32         <code>$keyValue</code> 参数用来定义'name'的值或'http-equive'键;<code>$content</code> 是'content' 键的值,<code>$modifiers</code> 是可选的包含'lang' 和/或 'scheme'键的联合数组。
33     </para>
35     <para>
36         也可以用 <code>headMeta()</code>  助手方法来设置 meta 标签:<code>headMeta($content, $keyValue, $keyType = 'name', $modifiers = array(), $placement = 'APPEND')</code>。<code>$keyValue</code> 是指定在 <code>$keyType</code> 里的键的内容,<code>$keyType</code> 应该是'name' 或 'http-equiv'。<code>$placement</code>  可以是 'SET' (覆盖所有先前存储的值), 'APPEND' (添加到栈尾)或 'PREPEND'(添加到栈顶)。
37     </para>
39     <para>
40         <code>HeadMeta</code> 覆盖每个 <code>append()</code>、<code>offsetSet()</code>、 <code>prepend()</code> 和 <code>set()</code> 来加强上面列出的特殊方法的用法。在内部,它存储每个条目为 <code>stdClass</code> 令牌,它稍后用 <code>itemToString()</code> 方法来序列化。这允许在堆栈的条目中执行检查,并可选地通过修改对象返回来修改这些条目。
41     </para>
43     <para>
44         <code>HeadMeta</code>助手是 <link linkend="zend.view.helpers.initial.placeholder"> 占位符助手 </link> 的一个具体实现。
45     </para>
47     <example id="zend.view.helpers.initial.headmeta.basicusage">
48         <title>HeadMeta 助手基本用法</title>
50         <para>
51             你可以在任何时候指定一个新的meta标签。例如指定客户端缓冲规则或SEO关键字。
52         </para>
54         <para>
55             例如,如果想指定SEO关键字,要创建带有名为'keywords'和内容(在页面上和关键字有关联的)的meta名称标签:
56         </para>
58         <programlisting role="php"><![CDATA[
59 <?php // setting meta keywords
60 $this->headMeta()->appendName('keywords', 'framework php productivity');
62 ]]></programlisting>
64         <para>
65             如果想设置一些客户端缓冲规则,最好设置带有想执行的规则的 http-equiv 标签:
66         </para>
68         <programlisting role="php"><![CDATA[
69 <?php // 禁止客户端缓存
70 $this->headMeta()->appendHttpEquiv('expires', 'Wed, 26 Feb 1997 08:21:57 GMT')
71                  ->appendHttpEquiv('pragma', 'no-cache')
72                  ->appendHttpEquiv('Cache-Control', 'no-cache');
74 ]]></programlisting>
76         <para>
77             meta标签的另一个流行用法是设置内容类型,字符集和语言:
78         </para>
80         <programlisting role="php"><![CDATA[
81 <?php // setting content type and character set
82 $this->headMeta()->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8')
83                  ->appendHttpEquiv('Content-Language', 'en-US');
85 ]]></programlisting>
87         <para>
88             最后一个例子,可以使用"meta refresh" 来让页面转向,一个简单的办法来显示过渡消息:
89         </para>
91         <programlisting role="php"><![CDATA[
92 <?php // 设置以下meta可使页面3秒钟后转向一个新的url
93 $this->headMeta()->appendHttpEquiv('Refresh', '3;URL=http://www.some.org/some.html');
95 ]]></programlisting>
97         <para>
98             在布局脚本(layout)中放置所有meta标签后,简单地echo助手,把所有内容输出:
99         </para>
101         <programlisting role="php"><![CDATA[
102 <?= $this->headMeta() ?>
103 ]]></programlisting>
104     </example>
105 </sect3>
106 <!--
107 vim:se ts=4 sw=4 et: