我想在Magento的管理区域中加载自定义CSS文件。我的方法是完全像在前端那样做:
<action method="addCss">
<file>namespace/module/mycss.css</file>
</action>
生成以下<link>
标记:
<link rel="stylesheet" type="text/css"
href="http://host/skin/adminhtml/base/default/namespace/module/mycss.css"
media="all">
这告诉我Magento正在/skin/adminhtml/base/default/namespace/module
寻找我的CSS。所以,如果我把它放在那里,我可能会很好,一切都会奏效。
但这似乎不是正确的方式,因为/skin/adminhtml/base
甚至不存在。
当我查看像Mage_Widget
这样的核心模块时,整个事情看起来更加怪异。它以完全相同的方式添加CSS文件:
<action method="addCss"><name>lib/prototype/windows/themes/magento.css</name></action>
但该文件存储在unter / skin / adminhtml / 默认 / default / lib /...
我做错了什么?
答案 0 :(得分:7)
base / default 是此文件的适当位置。无论设计区域如何,它都是最终的后备。鉴于核心团队的先例,在 default / default 下提供主题资产是不合适的。如果出现在这两个主题的后一个主题中,则会在前者之前为该路径生成链接。
顺便提一下,如果您将 app / design / adminhtml / default 重命名为 app / design / adminhtml / base ,则管理主题可以正常运行。
答案 1 :(得分:4)
<?xml version="1.0"?> <layout> <default> <reference name="head"> <action method="addCss"> <name>module/custom.css</name> </action> </reference> </default> </layout>
<config> ... <adminhtml> <layout> <updates> <namespace_module> <file>module.xml</file> </namespace_module> </updates> </layout> </adminhtml> ... </config>
干杯
答案 2 :(得分:0)
顺便提一下,如果你将app / design / adminhtml / default重命名为 app / design / adminhtml / base管理主题工作正常。
@benmarks答案是正确的,虽然不完整。您还需要重命名另一个目录:skin/adminhtml/default
到skin/adminhtml/base
我为admin创建了一个自定义主题,因此我可以处理标题插入等。
所以我必须将模块中的config.xml
更改为:
<config>
<stores>
<admin>
<!-- altering admin design package and theme -->
<design>
<package>
<name>MY_THEME_PACKAGE_NAME</name>
</package>
<theme>
<default>default</default>
</theme>
</design>
</admin>
</stores>
</config>
我发现只需将adminhtml/default/default
主题目录重命名为adminhtml/base/default
和skin
文件夹,因为我建议中断在admin的可配置产品部分快速创建产品
我最终复制了mymodule_layoutfile.xml
(可能是local.xml
文件,我只是不想将文件放在没有引用我的模块的情况下)adminhtml/default/default/layout
和{{ 1}} dirs。
请注意,frontend/base/default/layout
没有adminhtml
目录,因此使用了base
。
default/default
内容:
mymodule_layoutfile.xml
答案 3 :(得分:0)
我遇到了同样的问题。仔细检查路径是否绝对正确。在我的例子中,我有namespace / module / css / mycss.css。我错过了css文件夹,因为Magento在默认文件夹中找不到它,所以它转到了基本文件夹。