我有一个Magento管理控制台扩展,可以在整个Magento管理控制台上启用模型窗口。在Magento 1.7中,我可以包含出厂默认的CSS文件,其中包含以下内容
$layout->getBlock('head')->addCss('lib/prototype/windows/themes/magento.css');
但是,在Magento 1.6中,这个文件不在皮肤文件夹中,而是在'js_css'文件夹中,我需要使用这个
$layout->getBlock('head')->addItem('js_css', 'prototype/windows/themes/magento.css')
我是否有一种优雅,直接的方式来确保在所有版本的Magento 中正确包含此文件使用版本嗅探和而不诉诸于我自己的文件副本。
答案 0 :(得分:3)
我暂时把这个放在了这个问题上 - 这个问题一直悬而未决。
//would fail if Magento lives in a sub-folder named base
$skin_url = $design->getSkinUrl('lib/prototype/windows/themes/magento.css');
$parts = explode('/',$skin_url);
if(in_array('base', $parts))
{
$head->addItem('js_css', 'prototype/windows/themes/magento.css');
}
else
{
$head->addCss('lib/prototype/windows/themes/magento.css');
}
答案 1 :(得分:2)
我不知道这个建议是否更好,但您可以检查文件存在的 where ,并确定要调用的方法。
答案 2 :(得分:2)
最安全的方法可能是使用您的软件包分发您自己的文件版本。