我的网站使用zend框架并在子文件夹中运行,例如:http://www.example.com/sub/folder.现在我想在/ sub / folder /之前添加我的css链接以在像http://www.example.com/sub/folder/product/abc这样的页面中加载css,我以为我找到了一个视图帮助器执行此BaseUrl但BaseUrl似乎只能在实际的视图文件中工作,而不是在引导类中.
有谁知道这个的原因和一个可以解决的解决方法?
这是我的boodstrap类的片段.
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initStylesheet()
{
$this->_logger->info('Bootstrap ' . __METHOD__);
$this->bootstrap('view');
$this->_view = $this->getResource('view');
$this->_view->headLink()->appendStylesheet($this->_view->baseUrl('/css/main.css'));
}
}
解决方法:
我找到了baseUrl()视图助手在Bootstrap中不起作用的原因.这是因为Zend_Controller_Front没有Zend_Controller_Request.
所以为了解决这个问题,我添加了一个其他资源方法来初始化请求.
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initRequest()
{
$this->_logger->info('Bootstrap ' . __METHOD__);
$this->bootstrap('FrontController');
$front = $this->getResource('FrontController');
$request = new Zend_Controller_Request_Http();
$front->setRequest($request);
}
protected function _initStylesheet()
{
$this->_logger->info('Bootstrap ' . __METHOD__);
$this->bootstrap('view');
$this->_view = $this->getResource('view');
$this->_view->headLink()->appendStylesheet($this->_view->baseUrl('/css/main.css'));
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。