Tema şablonu kullanmayan mesajlar engeli


12

İleti bloğu için phtml dosyasını değiştirmeye çalışıyorum. Temel temada buldum template/core/messages.phtmlve bunu temama kopyaladım ve değişiklikleri yaptım. Değişikliklerim gösterilmedi, bu yüzden temel dosyada kaynak değiştirmeye çalıştım ve değişiklikler hala uygulanmadı.

Bu şablon dosyası nerede bulunur veya üzerine nasıl yazabilirim?


Hey kel bunu sonunda çözdün mü?
jharrison.au

Yanıtlar:


11

Maalesef core/messages.phtmldosya bahsettiğiniz mesajlar için kullanılmıyor. Tüm HTML, içindeki Blok düzeyinde oluşturulur Mage_Core_Block_Messages.

İyi haber şu ki mesajlarda kullanılan etiketleri şu işlevleri çağırarak kontrol edebilirsiniz:

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

Bunu uygulamanın bir örneği, layout/page.xmlaşağıdaki satırları bularak dosyanızı değiştirmek olabilir :

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

Ve onları aşağıdaki gibi bir şeye değiştirmek:

        <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>

Ve daha fazla kontrole ihtiyacınız varsa, kendi modülünüzdeki bloğu geçersiz kılabilir ve getHtml()ve getGroupedHtml()yöntemlerini özelleştirebilirsiniz .

Mutlu tasarım!


Düzen xml eylemleri ile neler yapılabileceğine sürekli hayran
kaldım

Evet, harikalar - veya bir *.phtmldosyada yaptığınız gibi XML düzeninde herhangi bir blok yöntemini çağırabilirsiniz . $this->doSomething()$this->setSomeData('foobar')
jharrison.au

Css sınıflarını nasıl eklersiniz? Twitter bootstrap stilleri uygulamak istiyorum
Sven
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.