0
我正在爲我的網格行編輯屏幕。這是我迄今爲止這種形式:Magento編輯表單字段集 - 將選擇下拉菜單的值獲取到標籤中
<?php
class Intellibi_Integration_Block_Adminhtml_Manageasendiapickinglists_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('integration_form', array(
'legend' => Mage::helper('integration')->__('Asendia Pick Information')
));
$fieldset->addField('order_number', 'label', array(
'label' => Mage::helper('integration')->__('Order Number'),
'name' => 'order_number'
));
// snipped
$fieldset->addField('pick_status', 'select', array(
'required' => false,
'class' => 'required-entry',
'label' => Mage::helper('integration')->__('Pick Status'),
'name' => 'pick_status',
'values' => Mage::getSingleton('ibi/asendiapickstatus')->getOptionArray(),
'readonly' => 'readonly'
));
// snipped
return parent::_prepareForm();
}
}
這將產生在管理後臺的輸出如下:
我想這樣做是pick_status
列從改變select
至label
。當我這樣做,而不是顯示狀態值「新」它顯示了數組索引這樣的:
我爲asendiapickstatus
選項數組定義這樣在我的模型:
class Intellibi_Integration_Model_Asendiapickstatus extends Varien_Object
{
const PICK_STATUS_NEW = 1;
const PICK_STATUS_SENT = 2;
const PICK_STATUS_SHIPPED = 3;
static public function getOptionArray()
{
return array(
self::PICK_STATUS_NEW => Mage::helper('integration')->__('New'),
self::PICK_STATUS_SENT => Mage::helper('integration')->__('Sent'),
self::PICK_STATUS_SHIPPED => Mage::helper('integration')->__('Shipped')
);
}
}
所以我的問題是,在編輯表單fieldset構建器中,如何顯示下拉字段「pick_status」的值,而不是當前的索引呢?所以如上所示,輸出將會顯示「新」而不是「1」。我需要一個自定義渲染器嗎?