【问题标题】:Adding custom HTML to <head> tag in Zend Framework 2在 Zend Framework 2 中将自定义 HTML 添加到 <head> 标记
【发布时间】:2014-06-27 21:07:41
【问题描述】:

我正在尝试通过在我的布局中将一些自定义 html 标签添加到我的头脚本中。控制器。我的最终目标是在我的头标签中添加以下内容:

<noscript><meta http-equiv="refresh" content="5"></noscript>

我可以使用$headMeta-&gt;appendHttpEquiv() 添加刷新元标记本身,但我不知道如何将其包装在&lt;noscript&gt;&lt;/noscript&gt; 标记中。这只需要添加到一个页面,但我不想要一个单独的布局文件。我还想使用 ZF2 提供的任何方法和功能(如果有的话)。我浏览了记录在案的view helpers,但找不到有用的。

有什么想法吗?

【问题讨论】:

    标签: php zend-framework2


    【解决方案1】:

    您应该可以使用占位符助手来执行此操作。

    在您的布局中:

    <html>
        <head>
            <?=$this->placeholder('customHead')?>
         [etc.]
    

    然后在您想要的页面的视图中:

    $this->placeholder('customHead')->set('<noscript><meta http-equiv="refresh" content="5"></noscript>');
    

    customHead 更改为您想要的任何名称。

    编辑:是的,您可以改为在控制器操作中执行此操作:

    public function someAction()
    {
        $viewHelperManager = $this->getServiceLocator()->get('viewhelpermanager');
        $placeholder = $viewHelperManager->get('placeholder');
        $placeholder->getContainer('customHead')->set('<noscript><meta http-equiv="refresh" content="5"></noscript>');
    }
    

    如果您需要在多个地方执行某项操作,您可能希望将占位符助手作为依赖项注入到控制器中。

    【讨论】:

    • 谢谢蒂姆,很有魅力。标记为正确。有什么办法可以从控制器而不是视图中做到这一点?
    猜你喜欢
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多