| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <sect3 id="zend.view.helpers.initial.headmeta">
- <title>HeadMeta 助手</title>
- <para>
- HTML <code><meta></code>元素用来提供关于HTML文档的 meta 信息-如关键字,文档字符集,缓冲的 pragama 等。Meta标签可以是'http-equiv' 或 'name' 类型,必须包含'content'属性,并且也可以有 'lang' 或 'scheme' 修饰属性。
- </para>
- <para>
- <code>HeadMeta</code> 助手提供下列方法来设置和添加 meta 标签:
- </para>
- <itemizedlist>
- <listitem><para><code>appendName($keyValue, $content,
- $conditionalName)</code></para></listitem>
- <listitem><para><code>offsetSetName($index, $keyValue, $content,
- $conditionalName)</code></para></listitem>
- <listitem><para><code>prependName($keyValue, $content,
- $conditionalName)</code></para></listitem>
- <listitem><para><code>setName($keyValue, $content,
- $modifiers)</code></para></listitem>
- <listitem><para><code>appendHttpEquiv($keyValue, $content,
- $conditionalHttpEquiv)</code></para></listitem>
- <listitem><para><code>offsetSetHttpEquiv($index, $keyValue, $content,
- $conditionalHttpEquiv)</code></para></listitem>
- <listitem><para><code>prependHttpEquiv($keyValue, $content,
- $conditionalHttpEquiv)</code></para></listitem>
- <listitem><para><code>setHttpEquiv($keyValue, $content,
- $modifiers)</code></para></listitem>
- </itemizedlist>
- <para>
- <code>$keyValue</code> 参数用来定义'name'的值或'http-equive'键;<code>$content</code> 是'content' 键的值,<code>$modifiers</code> 是可选的包含'lang' 和/或 'scheme'键的联合数组。
- </para>
- <para>
- 也可以用 <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'(添加到栈顶)。
- </para>
- <para>
- <code>HeadMeta</code> 覆盖每个 <code>append()</code>、<code>offsetSet()</code>、 <code>prepend()</code> 和 <code>set()</code> 来加强上面列出的特殊方法的用法。在内部,它存储每个条目为 <code>stdClass</code> 令牌,它稍后用 <code>itemToString()</code> 方法来序列化。这允许在堆栈的条目中执行检查,并可选地通过修改对象返回来修改这些条目。
- </para>
- <para>
- <code>HeadMeta</code>助手是 <link linkend="zend.view.helpers.initial.placeholder"> 占位符助手 </link> 的一个具体实现。
- </para>
- <example id="zend.view.helpers.initial.headmeta.basicusage">
- <title>HeadMeta 助手基本用法</title>
- <para>
- 你可以在任何时候指定一个新的meta标签。例如指定客户端缓冲规则或SEO关键字。
- </para>
- <para>
- 例如,如果想指定SEO关键字,要创建带有名为'keywords'和内容(在页面上和关键字有关联的)的meta名称标签:
- </para>
- <programlisting role="php"><![CDATA[
- <?php // setting meta keywords
- $this->headMeta()->appendName('keywords', 'framework php productivity');
- ?>
- ]]></programlisting>
- <para>
- 如果想设置一些客户端缓冲规则,最好设置带有想执行的规则的 http-equiv 标签:
- </para>
- <programlisting role="php"><![CDATA[
- <?php // 禁止客户端缓存
- $this->headMeta()->appendHttpEquiv('expires', 'Wed, 26 Feb 1997 08:21:57 GMT')
- ->appendHttpEquiv('pragma', 'no-cache')
- ->appendHttpEquiv('Cache-Control', 'no-cache');
- ?>
- ]]></programlisting>
- <para>
- meta标签的另一个流行用法是设置内容类型,字符集和语言:
- </para>
- <programlisting role="php"><![CDATA[
- <?php // setting content type and character set
- $this->headMeta()->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8')
- ->appendHttpEquiv('Content-Language', 'en-US');
- ?>
- ]]></programlisting>
- <para>
- 最后一个例子,可以使用"meta refresh" 来让页面转向,一个简单的办法来显示过渡消息:
- </para>
- <programlisting role="php"><![CDATA[
- <?php // 设置以下meta可使页面3秒钟后转向一个新的url
- $this->headMeta()->appendHttpEquiv('Refresh', '3;URL=http://www.some.org/some.html');
- ?>
- ]]></programlisting>
- <para>
- 在布局脚本(layout)中放置所有meta标签后,简单地echo助手,把所有内容输出:
- </para>
- <programlisting role="php"><![CDATA[
- <?= $this->headMeta() ?>
- ]]></programlisting>
- </example>
- </sect3>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|