【问题标题】:Zend Framework: Is there a View Helper to display View Name in Layout Class?Zend 框架:是否有 View Helper 在布局类中显示视图名称?
【发布时间】:2011-10-26 16:51:20
【问题描述】:

正如标题所暗示的,我正在尝试找到一种方法来显示当前作为布局的一部分显示的视图的标题。我正在尝试这样做,以便在选择不同的视图时动态填充页面标题。

在伪代码中:

<div>
   <div id="header"><h1>My website</h1></div>
   <div id="main">
           <?php echo "<h2>" . SOME WAY OF ECHOING THE VIEW NAME HERE . "</h2>"; ?>
           <?php echo $this->layout()->content; ?>
   </div>
   <div id="footer"><p>2011 My website.com></p>
</div>

我浏览过 Zend 文档,我能找到的最接近的就是标题链接。但是,我无法从该帮助程序中获取值并将其硬塞到一个变量中,以便我可以将其文本显示为视图的页眉。

谢谢。

【问题讨论】:

    标签: zend-framework zend-view zend-layout


    【解决方案1】:

    您可以将动作名称(或在需要时与模块组合)传递给控制器​​内的布局。

    $layout = $this->_helper->layout->getLayoutInstance(); $layout->viewName = $this->_getParam("action");

    有点脏,但它会工作

    【讨论】:

    • 感谢您的建议。我能想到的最好的办法是将您的代码建议包装到我的控制器中的一个私有方法中,该方法接受一个文本字符串。我没有调用 _getParam 操作,而是依次从每个操作方法调用此私有方法,并将页面文本设置为作为参数提供的值。不幸的是,似乎没有标准的占位符 - 我很惊讶!
    【解决方案2】:

    我不太确定我是否理解正确,但有一个叫做placeholder in ZendFramework 的东西。基本上,您定义占位符,然后用您想要的任何内容填充它。

    【讨论】:

    • 你是对的。我正在寻找的是可以在布局中使用的标准占位符,以便在视图上方的 div 容器中打印当前视图的标题。我的想法是,我可以在此标题中添加一些 CSS,从而在我的应用程序的每个页面上创建一致的文档标题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多