Как добавить magento frontend css в бэкэнд?

У меня есть блок, который появляется в бэкэнде и добавляет файл css с помощью обычной команды:

$this->getLayout()->getBlock('head')->addCss('mymodule/css/filename.css');

И это должно работать, за исключением того, что он ищет только файл в skin / adminhtml - и я хочу включить файл из skin / frontend, потому что именно там он сейчас находится.

Я временно преодолеваю это мерой грубой силы копирования файла из skin/frontend/default/mymodule/css/filename.css в skin/adminhtml/default/mymodule/css/filename.css, но я бы предпочел обратиться к нему напрямую. Есть ли способ заставить команду addCss выглядеть во внешнем интерфейсе вместо adminhtml?

1 ответ

Если это действительно новый файл CSS для пользовательского модуля, он должен находиться в скине / adminhtml / default / default / css /, как и любой другой отдельный ресурс скина.

Редактировать на основе комментария OP:

Поскольку это ваш новый файл, вы можете переключить область для core/design_package Экземпляр из adminhtml для внешнего интерфейса, а затем вернуть его. Тем не менее, я предпочел бы увидеть таблицу стилей в skin / adminhtml / default / default /, которая вызывает

@import('../../../frontend/base/default/css/file.css');

Для этого варианта использования не существует абсолютной наилучшей практики, так что решать вам.

Другие вопросы по тегам