[magento二次开发]Magento二次开发表单域命名冲突的解决方法

时间:2018-03-13  来源:magento  阅读:
 代码如下


//class Ruiwant_Consult_Block_Adminhtml_Consult_Index_Edit_Tabs_General extends Mage_Adminhtml_Block_Widget_Form
protected function _prepareForm()
{
    $fieldset2->addField("is_reply", "checkbox", array(
        "label"     => Mage::helper("consult")->__("Email To Customer"),
        "name"         => "is_reply",
        "checked"    => true,
        "onclick"    => "this.value = this.checked ? 1 : 0;",
        "after_element_html" => "Email To Customer if selected"
    ));

但是无论如何调整代码,在控制器中获取post数据的时候,is_reply的值都为空。这个问题困扰了将近2个小时的时间,始终就是想不明白为什么为空。最终,发现在Tab2中,注意,这是一个Grid列表,也包含一个字段叫做is_reply,于是想是不是这里除了问题。

 代码如下

//class Ruiwant_Consult_Block_Adminhtml_Consult_Index_Edit_Tabs_Answer extends Mage_Adminhtml_Block_Widget_Grid
protected function _prepareColumns()
{
    $this->addColumn("is_reply", array(
        "header" => Mage::helper("consult")->__("Email To Customer"),
        "index" => "is_reply",
        "type"      => "options",
        "options"    => array("0" => "Not Send", "1" => "Send"),
    ));

在把Grid中的is_reply删除之后,竟然发现传值成功了。这个经历真心的相当郁闷。因为两块是完全不相干的事情,却有赋值操作。这里做个记录,算是经验吧。

遇到个很纠结的问题,正常添加了一个表单,但是post提交数据的时候老提交不过去,get方式却可以,尝试了很久,后来又仔细看了magento相关表单的代码,才发现每个表单post进行数据提交的时候,都加了一个formkey,具体如下:

 代码如下


getBlockHtml("formkey")?>


生成代码:


 

 代码如下


magento这样做应该也是为了保证提交的表单数据的安全性。

[magento二次开发]Magento二次开发表单域命名冲突的解决方法

http://m.bbyears.com/wangyezhizuo/39898.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新