Я создаю собственный модуль magento и пытаюсь добавить собственный файл css в свой блок. Я написал :
<?php
class Wise_InteractiveSlider_Block_Slider extends Mage_Core_Block_Template
{
protected function _prepareLayout()
{
$this->getLayout()->getBlock('head')->addCss('css/mycompany/mymodule/stylesheet.css');
return parent::_prepareLayout();
}
}
Но это не работает, мой файл css не загружен, есть идеи? Спасибо.
3 ответа
Моим альтернативным решением было добавить это в мой макет xml:
<default>
<reference name="head">
<action method="addCss"><stylesheet>css/interactiveslider.css</stylesheet></action>
</reference>
</default>
Спасибо за помощь
Все CSS и изображения обычно доступны в папке "skin
". Должен быть:-
"skin" folder
-> Package Name (like "base" or "default")
-> Theme Name (like "modern" or "mycompany")
-> "css" folder
-> "mymodule" folder
-> "stylesheet.css" file
Итак, я полагаю, что вы следовали этой вышеупомянутой базовой структуре, которая считается одной из лучших практик.
Возвращаясь к вашему вопросу, я полагаю, что вы упомянули правильный класс блока в файле макета вашего модуля "layout.xml
". Таким образом, приведенный выше код должен быть в соответствии с приведенной выше структурой папок: -
<?php
class Wise_InteractiveSlider_Block_Slider extends Mage_Core_Block_Template
{
protected function _prepareLayout()
{
$this->getLayout()->getBlock('head')->addCss('css/mymodule/stylesheet.css');
return parent::_prepareLayout();
}
}
Наконец, убедитесь, что вы загрузили файл CSS "stylesheet.css
" в правильную папку.
Надеюсь, это поможет.
Вы можете использовать метод _prepareLayout (), только если блок определен в XML макета. Если вы встраиваете блок внутри страницы CMS с помощью метода {{block type ..., макет уже подготовлен к моменту рендеринга блока.
Похожие вопросы
Новые вопросы
magento
Общие вопросы по Magento (например, администрирование) можно задать на https://magento.stackexchange.com Magento - это платформа электронной коммерции, написанная на PHP. Вопросы должны быть связаны с написанием кода для Magento.