Добавить CSS из блока - PullRequest
       6

Добавить CSS из блока

0 голосов
/ 30 августа 2011

Я создаю пользовательский модуль 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 ]

2 голосов
/ 31 августа 2011

Мое альтернативное решение было добавить это в мой макет XML:

<default>
  <reference name="head">
      <action method="addCss"><stylesheet>css/interactiveslider.css</stylesheet></action>
  </reference>
</default>

Спасибо за вашу помощь

1 голос
/ 05 октября 2014

Вы можете использовать метод _prepareLayout (), только если блок определен в XML макета.Если вы «встроите» блок внутри страницы CMS с помощью метода {{block type ..., компоновка уже подготовлена ​​к моменту визуализации блока

1 голос
/ 30 августа 2011

Все 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" в правильную папку.

Надеюсь, это поможет.

...