问题描述
我正在尝试重写扩展的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 (将#修改为@)