Tôi có một Khối tùy chỉnh mà hiện tại tôi đang cố gắng chia thành hai khối riêng biệt.
Đây là cấu trúc thư mục của tôi (trên ứng dụng / mã / cục bộ / MyNamespace / CustomerDashboard):
Vì tôi muốn chia các chức năng của mô-đun này thành hai phần nhỏ hơn, tôi đã thêm các tệp MyMenu.php
trên thư mục Chặn và MyMenuController.php
vào bộ điều khiển.
Sau đó, tôi chỉ cần sao chép / dán mã từ Deliverydetails.php
vào MyMenu.php
và DeliverydetailsController.php
vào MyMenuController.php
để xem nó có hoạt động không.
Tôi đã đi vào tệp local.xml của mình và thêm tham chiếu vào mô-đun của mình và mẫu của nó:
<reference name="left">
<block type="customerdashboard/mymenu" name="customerdashboard.mymenu" template="customer/form/my-menu.phtml"/>
</reference>
Khi tôi truy cập trang mà tôi sẽ thấy nội dung, không có gì ở nơi cần mô-đun, nhưng tôi đã đi kiểm tra các ngoại lệ.log và tìm thấy điều này:
exception 'Mage_Core_Exception' with message 'Invalid block type: MyNamespace_CustomerDashboard_Block_Mymenu' in /var/www/html/mysite/public_html/app/Mage.php:595
Stack trace:
#0 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Model/Layout.php(495): Mage::throwException('Invalid block type...')
#1 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Model/Layout.php(437): Mage_Core_Model_Layout->_getBlockInstance('customerdashboa...', Array)
#2 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('customerdashboa...', 'customerdashboa...')
#3 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('customerdashboa...', 'customerdashboa...')
#4 /var/www/html/mysite/public_html/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 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Model/Layout.php(210): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element))
#6 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(344): Mage_Core_Model_Layout->generateBlocks()
#7 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(269): Mage_Core_Controller_Varien_Action->generateLayoutBlocks()
#8 /var/www/html/mysite/public_html/app/code/core/Mage/Customer/controllers/AccountController.php(107): Mage_Core_Controller_Varien_Action->loadLayout()
#9 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Customer_AccountController->indexAction()
#10 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('index')
#11 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#12 /var/www/html/mysite/public_html/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#13 /var/www/html/mysite/public_html/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#14 /var/www/html/mysite/public_html/index.php(93): Mage::run('', 'store')
#15 {main}
Tôi đã không chạm vào tệp config.xml của mình hoặc bất kỳ thứ gì khác ngoài hai tệp tôi đã đề cập (và chỉ để loại bỏ chức năng mà tôi không muốn trong khối cụ thể này) và đây là tệp configconfig của tôi:
<?xml version="1.0"?>
<config>
<modules>
<MyNamespace_CustomerDashboard>
<version>0.1.1</version>
</MyNamespace_CustomerDashboard>
</modules>
<global>
<helpers>
<customerdashboard>
<class>MyNamespace_CustomerDashboard_Helper</class>
</customerdashboard>
</helpers>
<blocks>
<customerdashboard>
<class>MyNamespace_CustomerDashboard_Block</class>
</customerdashboard>
</blocks>
<sales>
<order>
<states>
<invoiced translate="label">
<label>Invoiced</label>
<statuses>
<invoced default="1"/>
</statuses>
<visible_on_front>1</visible_on_front>
</invoiced>
</states>
</order>
</sales>
</global>
<frontend>
<routers>
<customerdashboard>
<use>standard</use>
<args>
<module>MyNamespace_CustomerDashboard</module>
<frontName>customerdashboard</frontName>
</args>
</customerdashboard>
</routers>
</frontend>
</config>
Tôi đã đọc các chủ đề khác về vấn đề này ở đây trên StackExchange nhưng không có bất kỳ manh mối nào về vấn đề có thể là gì.
Vì vậy, tôi đang làm gì sai mà tôi không thể khiến khối của mình hiển thị và tôi đang gặp lỗi đó trên các ngoại lệ của mình.log? Ngoài ra, tôi là một người mới Magento.