我試圖在Magento後端創建一個自定義報告;我的策略是首先讓我的新模塊在管理面板中模擬現有的Reports/Sales/Orders功能,然後在看到這些部分如何組合在一起後進行所需的更改。我添加了我的新菜單項,並且該模塊加載了基本的管理佈局和一些麪包屑,因此模塊配置和控制器配置設置得當。但是,佈局塊未加載。這是問題代碼。假設我有相關的塊文件的副本,在應用程序/代碼/本地/ BULX /報告/座/報告/銷售/銷售/ Grid.php:爲新的管理模塊配置Magento佈局
class BULX_Reports_IndexController extends Mage_Adminhtml_Report_SalesController {
public function salesAction {
//...otherwise identical to parent class
//should load reference to Grid block
$gridBlock = $this->getLayout()->getBlock('report_sales_sales.grid');
/* in original Mage module, will output Mage_Adminhtml_Block_Report_Sales_Sales_Grid
in BULX_Report, outputs nothing. */
echo get_class($gridBlock)."<br>";
我的配置文件有
<global>
<blocks>
<bulx_reports>
<class>BULX_Reports_Block</class>
</bulx_reports>
</blocks>
...
</global>
如果我更改代碼以
$gridBlock = $this->getLayout()->getBlock('bulx_reports/test');
與應用程序/代碼以下文件/本地/ BULX /報告/座/ test.php的
class BULX_Reports_Block_Test extends Mage_Core_Block_Abstract
{
protected function _toHtml() {
echo 'to html';
}
}
我得到了相同的結果:不「HTML」輸出,無論從get_class通話
我添加日誌報表輸出這裏建議: http://www.fontis.com.au/blog/magento/magento-debugging-loading-blocks-layouts-and-config-files
,很明顯從Magento的不在我的新模塊中查找任何佈局塊。 Alan Storm的教程通常非常有幫助,但我沒有在alanstorm.com/magento_admin_controllers中找到我需要的東西(對不起,沒有足夠的聲望有兩個超鏈接);據我所知,我已經設置了相同的配置。難點在於'report_sales_sales.grid'字符串不會出現在任何地方 - 這些網格出現在管理員的很多地方,並且它們是通過我沒有找到的結構動態構建的。
我錯過了什麼?這是企業版1.8。謝謝!
管理員佈局手柄是否始終必須以adminhtml開頭?也許這是我的問題:我的句柄執行bulxreport_index_sales,但也許它應該是adminhtml_bulxreport_index_sales。但是,這似乎也不起作用。不幸的是,我不得不把它擱置幾天,並且不能再補充幾次 – kevinpaulconnor 2010-10-26 12:57:48