php – zendframework baseUrl在bootstrap中查看帮助器

我的网站使用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'));
    }
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...