2013-03-23 114 views
2

我试图重写消息块在Magento,但不能得到它的工作。覆盖程序代码核心法师核心块 Messages.php

我创建所需的文件:

\app\etc\modules\Dss_Core.xml 
\app\code\local\Dss\Core\Block\Messages.php 
\app\code\local\Dss\Core\etc\config.xml 

我也创建自定义的管理login.phtml但一个是正确显示。 但是,在login.phtml中调用“getMessagesBlock() - > getGroupedHtml()?>”时,我没有看到我的消息来自我的Dss_Core_Block_Messages。

我什么都试过(修改文件/清除Magento的高速缓存),但不能让它的工作。

有人可以帮助???

\应用\等\模块\ Dss_Core.xml

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Dss_Core> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Dss_Core> 
    </modules> 
</config> 

\应用\代码\本地\决策支持系统\核心\等\ config.xml中

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Dss_Core> 
      <version>0.1.0</version> 
     </Dss_Core> 
    </modules> 
    <global> 
     <blocks> 
      <core> 
       <rewrite> 
        <messages> 
         Dss_Core_Block_Messages 
        </messages> 
       </rewrite> 
      </core> 
     </blocks> 
    </global> 
</config> 

\应用\代码\本地\决策支持系统\核心\块\ Messages.php

<?php 
class DSS_Core_Block_Messages extends Mage_Core_Block_Messages 
{ 
    public function getGroupedHtml() 
    { 
     return '<div class="alert alert-block" style="color: white;">custom dss errors</div>'; 
    } 
} 

\程序\设计\ adminhtml \ DEFAULT \ DSS \模板\ login.phtml

<body id="page-login" onload="document.forms.loginForm.username.focus();"> 
    <div class="container login-container"> 
    <div id="messages"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div> 
     <div class="login-box rounded"> 
      <form method="post" action="" id="loginForm"> 
       <div class="login-form"> 
       ... 
       </div> 
      </form> 
     </div> 
    </div> 
</body> 
</html> 

非常感谢你们。

回答

2

你的问题是在类名DSS_Core_Block_Messages一个错字,应该是Dss_Core_Block_Messages代替。你也应该把你的重写条目写入一行<messages>Dss_Core_Block_Messages</messages>

+0

我已经改变了它到“Dss_Core_Block_Messages”,并且登录页面上仍然没有显示任何内容。 :( – migontech

+0

我提高了我的回答,请解决您的'config.xml'喜欢推荐的。我得到时,我重写条目formmated像你这样的,在他们的旁边,我测试了它和它一直对我来说是致命的错误。 – witrin

+0

问题解决了,其他模块超载我的模块。 – migontech

1

在我的情况问题Mage_Core_Block_Messages的延长是Magento的汇编:系统 - >工具 - >编辑 该系统简单没有加载PHP文件,并给死亡的白色屏幕