Лучший способ вставить ссылку CSS для одной страницы в Magento - PullRequest
1 голос
/ 13 июля 2011

Не повезло, когда я пытался добавить ссылку на файл custom.css на страницу панели клиента в Magento. Это заставляет меня хотеть стрелять Magento в глаза, стиль Navy SEAL.

Согласно документам, любой из следующих элементов, вставленных в customer.xml, должен работать:

<reference name="customer_account_dashboard">
    <action method="addCss"><link>dashboardfix.css</link></action>
</reference>

<reference name="customer_account_dashboard">
    <action method="addCss"><stylesheet>css/dashboardfix.css</stylesheet></action>
</reference>

При вставке до этот блок:

<reference name="my.account.wrapper">
    <block type="customer/account_dashboard" name="customer_account_dashboard" template="customer/account/dashboard.phtml">
        <block type="customer/account_dashboard_hello" name="customer_account_dashboard_hello" as="hello" template="customer/account/dashboard/hello.phtml"/>
        <block type="core/template" name="customer_account_dashboard_top" as="top" />
        <block type="customer/account_dashboard_info" name="customer_account_dashboard_info" as="info" template="customer/account/dashboard/info.phtml"/>
        <block type="customer/account_dashboard_newsletter" name="customer_account_dashboard_newsletter" as="newsletter" template="customer/account/dashboard/newsletter.phtml"/>
        <block type="clientname/account_dashboard_address" name="customer_account_dashboard_address" as="address" template="customer/account/dashboard/address.phtml"/>
    </block>
</reference>

Сбой происходит тихо (без ошибок, как если бы он вообще не обрабатывался)

При вставке после блока я получаю «Недопустимый метод Mage_Customer_Block_Account_Dashboard :: addCss (Array ([0] => css / dashboardfix.css)) error

dashboardfix.css находится в папке skinname / css вместе с другими моими активами.

Есть идеи?

1 Ответ

2 голосов
/ 13 июля 2011

В вашем коде произошла небольшая синтаксическая ошибка - см. Исправленный код ниже.

Кроме того, чтобы это работало, вам нужно, чтобы файл macguffin.css был помещен в ту же папку css, что и ваш файл styles.css (или boxes.css), то есть в папку css вашей темы.

Вы также можете отключить кэширование и объединение CSS-файлов, чтобы убедиться, что это работает правильно.

Вот как у вас должен быть полный блок:

<!--
Customer account pages, rendered for all tabs in dashboard
-->

<customer_account translate="label">
    <label>Customer My Account (All Pages)</label>
    <!-- Mage_Customer -->
    <reference name="head">
        <action method="addCss"><stylesheet>css/macguffin.css</stylesheet></action>
    </reference>
    <reference name="root">
        <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
    </reference>
    <reference name="content">
        <block type="page/html_wrapper" name="my.account.wrapper" translate="label">
            <label>My Account Wrapper</label>
            <action method="setElementClass"><value>my-account</value></action>
        </block>
    </reference>

    <reference name="left">
        <block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
            <action method="addLink" translate="label" module="customer"><name>account</name><path>customer/account/</path><label>Account Dashboard</label></action>
            <action method="addLink" translate="label" module="customer"><name>account_edit</name><path>customer/account/edit/</path><label>Account Information</label></action>
            <action method="addLink" translate="label" module="customer"><name>address_book</name><path>customer/address/</path><label>Address Book</label></action>
        </block>
        <remove name="tags_popular"/>

    </reference>
</customer_account>

Просто помните, пока ваш файл CSS называется macguffin.css, все будет работать нормально.

...