我想在Bootstrap中设置网页的标题。我在Bootstrap.php中做了类似的事情:
protected function _initViewHelpers() {
$view = Zend_Layout::getMvcInstance()->getView();
$view->headTitle( 'My Title' );
}
我收到以下错误:
Fatal error: Call to a member function getView() on a non-object in /var/www/student/application/Bootstrap.php on line 7
我如何获得视图?我也试过this。
答案 0 :(得分:6)
@ArneRie很接近,但语法错误。这来自quickstart:
protected function _initDoctype()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->doctype('XHTML1_STRICT');
// but what you really want is
$view->headTitle('My title');
}
答案 1 :(得分:5)
您可能在尝试启动之前尝试访问该实例。尝试
protected function _initViewHelpers() {
$view = Zend_Layout::startMvc()->getView();
$view->headTitle( 'My Title' );
}
但是,startMVC
可以传递一个$options
参数,该参数可以是作为字符串的布局文件夹的路径,也可以是将设置为的Zend_Config
实例。 MVC实例。 ZF通常会在稍后阶段从您的application.ini自动传递它。我不知道你的应用程序在你没有通过时会如何表现。
更好的选择是拥有Resource Plugin或Controller Plugin。有关这些示例的示例,请参阅链接页面,另请参阅source code for Zend_Layout
了解实现详细信息。
答案 2 :(得分:2)
它现在对我有用:
在 Bootstrap.php
中protected function _initViewHelpers() {
$view = new Zend_View();
$view->headTitle('Main Title')->setSeparator(' - ');
}
在任何视图/ .phtml
中<?php
$this->headTitle()->prepend('Page Title');
echo $this->headTitle();
?>
答案 3 :(得分:1)
你可以尝试:
protected function _initViewHelpers() {
$bootstrap = $this->getBootstrap();
$view = $bootstrap->getResource('view');
$view->headTitle( 'My Title' );
}
答案 4 :(得分:1)
$this->title = "Edit album";
$this->headTitle($this->title);