模块表单 - 将addField的值存储到变量中

时间:2013-02-12 04:50:35

标签: forms magento module

我的自定义模块中有类似内容:

$fieldset->addField('orderinfo', 'link', array(
      'label'     => Mage::helper('web')->__('Order Info'),
      'style'   => "",
      'href' => Mage::helper('adminhtml')->getUrl('adminhtml/sales_order/view', array('order_id' => $order_id)),
      'value'  => 'Magento Blog',
      'after_element_html' => '',
    ));

正如您从代码中看到的那样,我正在尝试将该字段链接到后端的Order选项卡。我虽然无法获取ID。我打算只在数据库中保存订单ID,然后使用addField我可以拥有正确的URL。

但是如何将addField值保存到变量?

我想将值存储在“$ order_id”中。

有可能吗?

1 个答案:

答案 0 :(得分:1)

我不确定您在哪个上下文中使用此字段集,但如果它用于创建或编辑对象,您可以尝试这样的事情:

在控制器中:

public function editAction()
{
    $id = $this->getRequest()->getParam('id');
    $model  = Mage::getModel('module/model')->load($id);
    Mage::register('model_name', $model);
}

然后在街区:

protected function _prepareForm()
{
    $model = Mage::registry('model_name');

    // add fieldset to form

    $fieldset->addField('orderinfo', 'link', array(
      'label'     => Mage::helper('web')->__('Order Info'),
      'style'   => "",
      'href' => Mage::helper('adminhtml')->getUrl('adminhtml/sales_order/view', array('order_id' => $model->getOrderId())),
      'value'  => 'Magento Blog',
      'after_element_html' => '',
    ));

    //rest of the elements
}

再次回复我自己的帖子。 (src:https://magento.stackexchange.com/questions/682/module-forms-store-value-of-addfield-to-a-variable