微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重写Magento块/第三方扩展的类

如何解决重写Magento块/第三方扩展的类

我正在尝试重写扩展的Block类,并引发了异常:

Mage_Core_Exception: Invalid block type:
  Hajdi_Brands_Block_Navigation
  in /Users/jure/Code/hajdi/app/Mage.PHP:598

这里提到了相同的重写。此重写包含与下面的链接上可接受的解决方案相同的代码,但不起作用。

How to rewrite/extend a Magento class in an existing third party extension

知道我在做什么错吗?

app / etc / modules / Hajdi_Brands.xml

<config>
    <modules>
        <Hajdi_Brands>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Infortis_UltraMegamenu />
            </depends>
        </Hajdi_Brands>
    </modules>
</config>

app / code / local / Hajdi / Brands / Block / Navigation.PHP

<?xml version="1.0"?>
<config>
    <modules>
        <Hajdi_Brands>
            <version>1.0.0</version>
        </Hajdi_Brands>
    </modules>
    <frontend>
        <routers>
            <hajdi_brands>
                <use>standard</use>
                <args>
                    <module>Hajdi_Brands</module>
                    <frontName>test</frontName>
                </args>
            </hajdi_brands>
        </routers>
        <layout>
            <updates>
                <hajdi_brands>
                    <file>hajdi_brands.xml</file>
                </hajdi_brands>
            </updates>
        </layout>
    </frontend>
    <global>
        <blocks>
            <ultramegamenu>
                <rewrite>
                    <navigation>
                        Hajdi_Brands_Block_Navigation
                    </navigation>
                </rewrite>
            </ultramegamenu>
            <hajdi_brands>
                <class>Hajdi_Brands_Block</class>
            </hajdi_brands>
        </blocks>
    </global>
</config>

app / code / local / Hajdi / Brands / Block / Navigation.PHP

class Hajdi_Brands_Block_Navigation extends Infortis_UltraMegamenu_Block_Navigation

编辑: 这必须在一行中。

<navigation>
    Hajdi_Brands_Block_Navigation
</navigation>
<navigation>Hajdi_Brands_Block_Navigation</navigation>

\ n在堆栈跟踪中响起了钟声: Mage_Core_Model_Layout-> _ getBlockInstance(' \ n ... ',数组)

Mage_Core_Exception: Invalid block type:
                        Hajdi_Brands_Block_Navigation
                     in /Users/jure/Code/hajdi/app/Mage.PHP:598
Stack trace:
#0 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/Layout.PHP(495): Mage::throwException('Invalid block t...')
#1 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/Layout.PHP(437): Mage_Core_Model_Layout->_getBlockInstance('\n              ...',Array)
#2 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/Layout.PHP(472): Mage_Core_Model_Layout->createBlock('ultramegamenu/n...','catalog.topnav....')
#3 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/Layout.PHP(239): Mage_Core_Model_Layout->addBlock('ultramegamenu/n...','catalog.topnav....')
#4 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/Layout.PHP(205): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_Element),Object(Mage_Core_Model_Layout_Element))
#5 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/Layout.PHP(206): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#6 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/Layout.PHP(210): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#7 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Controller/Varien/Action.PHP(344): Mage_Core_Model_Layout->generateBlocks()
#8 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Controller/Varien/Action.PHP(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#9 /Users/jure/Code/hajdi/app/code/local/Hajdi/Brands/controllers/IndexController.PHP(6): Mage_Core_Controller_Varien_Action->loadLayout()
#10 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Controller/Varien/Action.PHP(418): Hajdi_Brands_IndexController->indexAction()
#11 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Controller/Varien/Router/Standard.PHP(254): Mage_Core_Controller_Varien_Action->dispatch('index')
#12 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Controller/Varien/Front.PHP(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#13 /Users/jure/Code/hajdi/app/code/core/Mage/Core/Model/App.PHP(381): Mage_Core_Controller_Varien_Front->dispatch()
#14 /Users/jure/Code/hajdi/app/Mage.PHP(686): Mage_Core_Model_App->run(Array)
#15 /Users/jure/Code/hajdi/index.PHP(83): Mage::run('','store')
#16 /Users/jure/.composer/vendor/weprovide/valet-plus/server.PHP(131): require('/Users/jure/Cod...')
#17 {main}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。