我正在開發我的第二個Magento模塊,它應該檢索一些數據並渲染包含它的塊。這樣的塊將被其他頁面使用。Magento - 塊沒有呈現
目前,我幾乎已經安裝了整個模塊,但由於某種原因,當我調用控制器方法時,模塊未呈現。我提供了一些調試信息,我可以看到該塊的__construct()
方法調用正確,但模板似乎沒有加載,返回的頁面爲空。
以下是適用於塊的代碼,其中我從另一個模塊複製和修改:
class Company_CustomerData_Block_CustomerSummary extends Mage_Core_Block_Template {
const _TEMPLATE = 'customerdata/customersummary.phtml';
public function __construct() {
// This method is called correctly
parent::_construct();
$this->setTemplate(self::_TEMPLATE);
}
}
文件customersummary.phtml是在應用程序/設計/前端/鹼/默認/模板/ customerdata,這應該是正確的地方(或者至少我認爲是這樣)。其內容如下:
It works!
只是一些純文本。沒有標籤,沒有代碼,什麼都沒有。我不介意這是一個靜態文本,它會填充數據一次完成。
在需要的情況下,這裏的控制器(我刪除其中的數據被檢索到的部分,因爲他們不有所作爲)代碼:
public function dashboardAction() {
// Customer Data to render in the block
$CustomerData = array(); // Data is retrieved elsewhere
$this->getResponse()->setBody(
$this->getLayout()->createBlock('customerdata/customersummary')
->toHtml()
);
}
什麼可能我是做錯了什麼?恐怕我又犯了一個愚蠢的錯誤,但我真的看不到它。
最後兩個問題:
- 如何傳遞到模板我在控制器檢索數據?具體而言,變量
$CustomerData
。 - 模塊渲染完成後,如何從頁面內渲染其內容?該塊應該返回一個帶有一些東西的東西,我想在客戶儀表板內部呈現它,就在已經存在的信息的下面。
在此先感謝您的幫助。
@Jim感謝您的編輯,我沒有發現破損的格式。我不應該在4AM發佈問題... :) – Diego 2012-07-25 11:11:09