Как правильно удалить файл madisonisland.css?


Новая тема острова Мэдисон для Magento CE 1.9/EE 1.14 поставляется с несколькими тематическими CSS-файлами, madisonisland.css и madisonisland-ie8.css.

В соответствии с документацией Magento (http://www.magentocommerce.com/knowledge-base/entry/ee114-ce19-rwd-dev-guide#remove-sample-content) способ сделать это был бы через local.xml со следующим кодом:

<layout version="0.1.0">
<default>
    <reference name="head">
        <action method="removeItem"><type>skin_css</type><name>css/madisonisland.css</name></action>
        <action method="removeItem"><type>skin_css</type><name>css/madisonisland-ie8.css</name></action>
    </reference>
</default>
</layout> 

Однако при тестировании это не удаляет два CSS-файла, поскольку они оба по-прежнему загружаются на интерфейсе (и да, конечно, кэши были очищены). Я предполагаю, что причина, по которой они не удаляются, заключается в том, что они закодированы в файле head.phtml.

<link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl('css/madisonisland.css'); ?>" media="all" />

Вместо загрузки через: <?php echo $this->getCssJsHtml() ?> Это правильно?

Конечно, их можно легко удалить, скопировав head.phtml в custom_package/custom_theme/шаблон/страница/html/ и удалив эти строки из самого файла шаблона, но является ли это лучшим методом или должен быть альтернативный способ XML это?

Author: Jason Tipton, 2014-09-09

3 answers

Я проверил версию 1.9.0.1, и эти файлы добавляются с помощью XML, поэтому ваш первый метод должен работать.

Если, однако, у вас каким-то образом есть версия, в которой теги ссылок действительно закодированы в head.phtml, то вполне допустимо переопределить ее в вашей пользовательской теме и отредактировать вручную. Единственный другой метод, который я могу придумать, - это создать файл шаблона замены, а затем применить его с помощью некоторого XML.

<layout>
    <default>
        <reference name="head">
            <action method="setTemplate"><template>your/new/head.phtml</template></action>
        </reference>
    </default>
</layout>

Но это приводит только к тому же результату, что и прямое переопределение head.phtml только с большим усилием, так что в этом нет смысла.

 2
Author: clockworkgeek, 2014-09-09 17:50:17

В Magento версии 1.9 используются таблицы стилей SCSS. Правильный способ удалить данные по умолчанию - удалить эти модули и перекомпилировать scss. Правильный способ удалить xml-вызовы таблиц стилей - это отредактировать local.xml файл и удаление таблиц стилей там. Смотрите эту статью для получения полной информации о настройке темы 1.9 RWD. http://www.magentocommerce.com/knowledge-base/entry/ee114-ce19-rwd-dev-guide#remove-sample-content

 3
Author: DaChronDon, 2014-09-09 18:13:46

Поэтому лучший способ, который я нашел для этого, - удалить файл madisonisland.css с помощью local.xml как показано выше, а затем повторно добавьте его как часть моей пользовательской темы.

  • Очевидно, просто не забудьте скопировать файл madisonisland.css и madisonisland-ie8.css в свою пользовательскую тему в пакете rwd в том же месте и переименовать его.
<reference name="head">
    <!--Remove CSS and JS, skin Folder-->
    <action method="removeItem"><type>skin_css</type><name>css/madisonisland-ie8.css</name><params/><if><![CDATA[ (lte IE 8) & (!IEMobile)]]></if></action>
    <action method="removeItem"><type>skin_css</type><name>css/madisonisland.css</name><params/><if><![CDATA[<!--[if (gte IE 9) | (IEMobile)]><!-->]]></if></action>
    <!--Add CSS and JS, skin Folder-->
    <action method="addItem"><type>skin_css</type><name>css/custom-ie8.css</name><params/><if><![CDATA[ (lte IE 8) & (!IEMobile)]]></if></action>
    <action method="addItem"><type>skin_css</type><name>css/custom.css</name><params/><if><![CDATA[<!--[if (gte IE 9) | (IEMobile)]><!-->]]></if></action>
</reference>
 3
Author: Blaize Liebenberg, 2014-10-14 08:57:17