Magento Adminhtml包/主题(否)后备

时间:2012-04-04 22:25:33

标签: magento themes package fallback adminhtml

我们是否可以激活轻松关于自定义管理主题的后备层次结构机制,因为它已经存在于前端区域?

目前尚不清楚用于'前端'区域的这个类 Mage_Core_Model_Design_Package 在何处以及如何被实例化,我只是想知道我们是否可以重写并扩展它以使其适用于后端也是。

目前,将adminhtml / default / default / files(包括设计和皮肤文件夹)复制到adminhtml / package_name / theme_name然后处理这些复制的文件并不是一种超级干净的方式,并且可能会因多个包而变得复杂(s )和/或主题,与默认/默认相比,每个只带来一些小的改动或改进。它应该是后备,我想。

想法,有人吗?

1 个答案:

答案 0 :(得分:2)

Mage_Core_Model_Design_Package :: _ fallback中存在错误。它还使用基本包作为adminhtml区域的后备包。相反,它应该使用默认包,因为adminhtml不存在基本包。您可以为设计包模型创建重写并修改_fallback()函数:

    protected function _fallback($file, array &$params, array $fallbackScheme = array(array()))    
        ...
        $params['_package'] = self::BASE_PACKAGE;
        // otherwise no admin packages with fallback to default package possible
        if ($this->_area == 'adminhtml') {
            $params['_package'] = self::DEFAULT_PACKAGE;
        }
        ...
   }

另一种解决方案是简单地将文件夹app / design / adminhtml / default重命名为app / design / adminhtml / base。但我不知道如果你正在更新到更新的magento版本会发生什么。