在之前的作品中,我忽略了Magento Admin中的Order grid,以顯示其他數據。所以我創建了一個模塊來做到這一點。我寫新的塊和報道在config.xml壓倒一切的:在管理網格中的VirtualColumn上使用渲染器
<blocks>
<adminhtml>
<rewrite>
<sales_order_grid>
Company_Module_Block_Sales_Order_Grid
</sales_order_grid>
</rewrite>
</adminhtml>
</block>
之後,我已經創建了一個新的模塊來獲取和保存新的數據。我現在想要在網格上顯示它們。這些數據來自一個自定義表格,並未在網格中使用。我也使用渲染器來顯示它們。
我不想讓這兩個模塊相互依賴,新數據必須顯示在覆蓋網格上,就像默認網格一樣。所以我想(如果可能的話)避免第二個模塊的其他重寫。
通過在互聯網上搜索,我發現這個有趣的文章:http://www.ecomdev.org/2010/07/27/adding-order-attribute-to-orders-grid-in-magento-1-4-1.html
$resource->addVirtualGridColumn(
'customer_telephone',
'sales/order_address',
array('billing_address_id' => 'entity_id'),
'telephone'
);
這種做法是非常適合我:如果第一個模塊是禁用的,第二個的數據仍顯示在默認網格,如果第二個模塊被禁用,網格仍然被覆蓋。
它可能是完美的,但它似乎不能使用渲染器通過使用addVirtualGridColumn方法。
所以我的問題是:有沒有辦法在虛擬列上使用渲染器?如果沒有,是否還有一種方法來優雅地添加「渲染」列而不覆蓋網格?
希望我對問題的解釋已經很清楚,希望有一個解決方案。謝謝你的幫助。