如何解决重写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 举报,一经查实,本站将立刻删除。