Как правильно удалить файл 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 это?
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
только с большим усилием, так что в этом нет смысла.
В 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
Поэтому лучший способ, который я нашел для этого, - удалить файл 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>