我在bootstrap文件中设置了一个view var,如下所示:
protected function _initVars()
{
$this->bootstrap('layout');
$layout = $this->getResource('layout');
$view = $layout->getView();
$view->theme = 'MY_THEME';
}
我的application.ini也有以下行:
resources.view[] =
但是在视图脚本中,
<?php echo $this->theme ?>
什么都不打印。
请建议?
修改
我可以使用所有函数,但由于某些原因,它是未被回显的视图变量。
答案 0 :(得分:1)
您忘记返回视图对象。 return $ view;
答案 1 :(得分:0)
通过init方法扩展视图对我有用
protected function _initView()
{
$view = new Zend_View;
$view->setEncoding('UTF-8');
$view->doctype('XHTML1_TRANSITIONAL');
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer($view);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
$view->SOME_VAR = 'SOME_VALUE';
return $view;
}
答案 2 :(得分:0)
这是我的,对我很有用.............我希望能有所帮助
protected function _initLayoutView() {
$this -> bootstrap ('layout');
$layout = $this -> getResource ('layout');
$view = $layout -> getView();
$view->addHelperPath('dagho/View/Helper', 'dagho_View_Helper');
$view -> doctype('XHTML1_STRICT');
$view->headMeta()->appendHttpEquiv('Content-Type',
'text/html; charset=utf-8')
->appendHttpEquiv('Content-Language', 'en-US');;
$view->headLink(array('rel' => 'favicon',
'href' => $view->baseUrl().'/img/favicon.ico'),
'PREPEND');
$view -> headLink() -> prependStylesheet($view->baseUrl('/css/demo.css'))
->prependStylesheet($view->baseUrl('/css/text.css'))
->prependStylesheet($view->baseUrl('/css/960.css'))
->prependStylesheet($view->baseUrl('/css/reset.css'));
$view->headScript()->appendFile($view->baseUrl('js/jquery-1.4.2.min.js') , "text/javascript")
->appendFile($view->baseUrl('js/jquery-ui.min.js') , "text/javascript")
->appendFile($view->baseUrl('js/swfobject/swfobject.js') , "text/javascript");
$view -> headTitle('title ');
$view -> headTitle() -> setSeparator( ' : ' );
$trackerId = 'UA-xxxxxxxx-4';
$googleAnalytics = $view->GoogleAnalytics($trackerId);
return $view ;
}
在视图中我举了类似的内容:<?php echo $this->GoogleAnalytics(); ?>
任何方式你可以添加到<?php echo $this->theme ?>
的最后一个分号,如<?php echo $this->theme; ?>
我知道听起来很疯狂,但我更喜欢坚持规则