Blok pesan tidak menggunakan templat tema

12

Saya mencoba mengubah file phtml untuk blok pesan. Saya menemukan di tema dasar template/core/messages.phtmldan menyalinnya ke tema saya dan membuat perubahan. Perubahan saya tidak muncul jadi saya mencoba memodifikasi sumber di file dasar dan perubahan itu masih belum diterapkan.

Di mana file templat ini berada atau bagaimana saya bisa menimpanya?

kel
sumber
Hei, apa kau tahu yang ini pada akhirnya?
jharrison.au

Jawaban:

11

Sayangnya core/messages.phtmlfile tersebut tidak digunakan untuk pesan yang Anda bicarakan. Semua HTML dihasilkan pada level Blok di Mage_Core_Block_Messages.

Berita baiknya adalah Anda dapat mengontrol tag yang digunakan dalam pesan dengan memanggil fungsi-fungsi ini:

  1. Mage_Core_Block_Messages::setMessagesFirstLevelTagName($tagName)
  2. Mage_Core_Block_Messages::setMessagesSecondLevelTagName($tagName)

Contoh penerapan ini adalah memodifikasi layout/page.xmlfile Anda dengan menemukan baris yang berbunyi:

<block type="core/messages" name="global_messages" as="global_messages"/>
<block type="core/messages" name="messages" as="messages"/>

Dan mengubahnya menjadi seperti:

        <block type="core/messages" name="global_messages" as="global_messages">
            <action method="setMessagesFirstLevelTagName"><tagName>div</tagName></action>
            <action method="setMessagesSecondLevelTagName"><tagName>span</tagName></action>
        </block>
        <block type="core/messages" name="messages" as="messages">
            <action method="setMessagesFirstLevelTagName"><tagName>div</tagName></action>
            <action method="setMessagesSecondLevelTagName"><tagName>span</tagName></action>
        </block>

Dan jika Anda membutuhkan lebih banyak kontrol maka Anda bisa menimpa blok dalam modul Anda sendiri dan menyesuaikan getHtml()dan getGroupedHtml()metode.

Selamat menata gaya!

jharrison.au
sumber
Saya selalu kagum dengan apa yang dapat dicapai melalui tindakan tata letak xml
philwinkle
Ya mereka hebat - Anda dapat memanggil metode blok apa pun melalui tata letak XML sama seperti yang Anda lakukan pada *.phtmlfile dengan $this->doSomething()atau $this->setSomeData('foobar').
jharrison.au
Bagaimana Anda menambahkan kelas css? Saya ingin menerapkan gaya bootstrap twitter
Sven