我試圖在Magento中創建一個新的自定義模塊(塊),它將顯示製造商在產品詳細信息頁面上的其他產品。當我加載產品詳細信息頁面獲取:Magento:錯誤的自定義模塊(類未在Layout.php中找到)
Fatal error: Class 'AimIT_ManufacturerBlock_Block_Manufacturerblock' not found in ..\app\code\core\Mage\Core\Model\Layout.php on line 491
我已經創建:
1)\應用\等\模塊\ AimIT_ManufacturerBlock.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<AimIT_ManufacturerBlock>
<!-- Whether our module is active: true or false -->
<active>true</active>
<!-- Which code pool to use: core, community or local -->
<codePool>local</codePool>
</AimIT_ManufacturerBlock>
</modules>
</config>
2)\應用\代碼\本地\ AimIT \ ManufacturerBlock \等\ config.xml中
<?xml version="1.0"?>
<config>
<global>
<blocks>
<aimitmanufacturerblock>
<class>AimIT_ManufacturerBlock_Block</class>
</aimitmanufacturerblock>
</blocks>
</global>
</config>
3)\應用\代碼\本地\ AimIT \ ManufacturerBlock \塊\ Manufacturerblock.php
<?php
class AimIT_ManufacturerBlock_Block_Manufacturerblock extends Mage_Core_Block_Template
{
public function getManufacturerProducts($manufacturer)
{
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToFilter('manufacturer',$manufacturer);
$collection->addAttributeToSelect('manufacturer');
return $collection;
}
}
?>
4)\應用\設計\前端\默認\響應\模板\ aimit \ manufacturerblock \ manufacturerblock.phtml
<?php $_products = $this->getManufacturerProducts('cukrarna-u-vanku') ?>
<?php print_r($_products); ?>
5)在產品目錄中\產品\ view.phtml我已經把這個代碼:
<?php echo $this->getLayout()->createBlock('aimitmanufacturerblock/manufacturerblock')->setTemplate('aimitmanufacturerblock/manufacturerblock.phtml')->toHtml(); ?>
創建模塊時我省略了什麼?
謝謝您的回答。但似乎沒有幫助。我試過了,並且出現了相同的消息。 – Swip
您的商店是否在Windows或Linux上運行?我的Windows機器上有類似的問題 - 我編輯與Linux服務器共享的文件夾中的代碼庫,在該文件夾中實際運行商店。如果我在Windows中重命名文件並只更改字母大小寫 - Linux服務器並不總是選擇該文件,並且錯誤仍然存在。我必須刪除該文件並用正確的名稱重新創建它。 –
好吧,我刪除並重新創建,它現在似乎工作。所以看起來就是這個命名。非常感謝您的幫助! – Swip