테마 템플릿을 사용하지 않는 메시지 차단


12

메시지 블록의 phtml 파일을 변경하려고합니다. 기본 테마를 찾아 template/core/messages.phtml내 테마로 복사하고 변경했습니다. 변경 사항이 표시되지 않아 기본 파일에서 소스를 수정하려고 시도했지만 변경 사항이 여전히 적용되지 않았습니다.

이 템플릿 파일은 어디에 있거나 어떻게 덮어 쓸 수 있습니까?


켈, 결국 이걸 알아 냈어?
jharrison.au

답변:


11

불행히도 core/messages.phtml파일은 당신이 말하는 메시지에 사용되지 않습니다. 모든 HTML은의 차단 수준에서 생성됩니다 Mage_Core_Block_Messages.

좋은 소식은 다음 함수를 호출하여 메시지에 사용 된 태그를 제어 할 수 있다는 것입니다.

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

이를 구현하는 예는 다음 layout/page.xml과 같은 행을 찾아 파일 을 수정하는 것 입니다.

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

그리고 그것들을 다음과 같이 바꾸십시오 :

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

더 많은 제어가 필요한 경우 자체 모듈의 블록을 재정의하고 getHtml()getGroupedHtml()메소드를 사용자 정의 할 수 있습니다 .

행복한 스타일링!


나는 레이아웃 xml 액션을 통해 달성 될 수있는 것에 끊임없이 놀랐다.
Philphilkle

그래, 그들은 큰 것 - 당신이에서와 같은 단지 같은 레이아웃 XML을 통해 어떤 블록 메소드를 호출 할 수 *.phtml와 파일 $this->doSomething()이나 $this->setSomeData('foobar').
jharrison.au

CSS 클래스를 어떻게 추가합니까? 트위터 부트 스트랩 스타일을 적용하고 싶습니다
Sven
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.