製品のカスタムオプションとして配達日を追加しました。管理画面の受注グリッドに納期を表示させたい。のローカル コピーを作成しましたNamespace_Module_Block_Adminhtml_Sales_Order_Grid
。
ここでは、_prepareCollection()
関数で製品オプションを取得できます。
$collection = Mage::getResourceModel($this->_getCollectionClass())
->join(
'sales/order_item',
'`sales/order_item`.order_id=`main_table`.entity_id',
array(
**'proptions' => new Zend_Db_Expr('group_concat(`sales/order_item`.product_options SEPARATOR ",")'),**
)
);
次に、列を次のように追加します。
$this->addColumn('proptions', array(
'header' => Mage::helper('Sales')->__('Product Options'),
'width' => '100px',
'index' => 'proptions',
'renderer' => new Namespace_Module_Block_Adminhtml_Renderer_Data(),
));
今Namespace_Module_Block_Adminhtml_Renderer_Data()
私は方法を持っています:
public function _getValue(Varien_Object $row)
{
$val = $row->getData($this->getColumn()->getIndex()); // row value
$array = unserialize($val);
//loop thru the $array and create a format string
//
$options = $array['options'];
$format_val = '';
foreach ($options as $key=> $value) {
$format_val = $format_val . $key . "=>" . $value . " , ";
}
return $format_val;
}
表示がおかしい。配列を正しくループしているとは思いません。ここで何が間違っていますか?