php – 使用magento管理模块中的控制器和模型提交表单值

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 使用magento管理模块中的控制器和模型提交表单值脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个管理模块,需要处理一个表单,但是我很难将变量发送到POST,而只是重定向到仪表板.表单如下所示:
<form name="notes" action="<?PHP echo Mage::helPEr("adminhtML")->getUrl("foo/index/PRocessnotes/");?>"  method="post">
<input type="hidden" name="another_form_key" value="<? echo $this->getFormKey(); ?>" />

我这样做是因为为admin启用了安全密钥.它给了我一个网址:

foo/index/processnotes/key/4745f5fbb9c168778958d5d4a4c2c0ef/

在控制器中我有

public function processnotesAction(){       
    $model = Mage::getModel('foo/process');
    // I am not sure how I am supposed to send $_POST values here
    }

在Package / foo / Model / Process.PHP

我希望能够在这里处理我的表单中的POST变量,但我看不出有什么问题,我只是被发送到仪表板.

<?PHP
class Package_foo_Model_Process extends Mage_Core_Model_Abstract
{
        public function noteProcess() {     
            $test = $_POST['myValue'];
            echo $test;
     }
}

更新

在阅读完答案之后,我想补充一点我的真实代码在做什么,以及我如何使用$_POST.我正在设置一个简单的例子,只是让表格发布,但意识到我可能在Magento做了很多错事.

$query="INSERT INTO `notes_value` ( `color`,`the_id`,`the_value` ) VALUES ";
 $sku = $_POST['color'];
array_pop($_POST);
foreach ($_POST AS $key => $value) {
        $values[] = "('$sku','$id','$value')";
}   
$query .= implode(',',$values) . ';';

梦想是我可以$resource-> getConnection(‘core_wrITe’);实际上将其插入到数据库中,但对目前的情况感到不那么乐观.

通常当您被重定向到仪表板时,因为您的密钥无法识别.我通常会使用以下语法
<input name="form_key" type="hidden" value="<?PHP echo Mage::getSingleton('core/session')->getFormKey() ?>" />

此外,我倾向于禁用管理员密钥来验证这是否是您的问题.

接下来,永远不要使用带有Magento的$_POST,所有变量都可以访问(干净且安全). POST信息可以全局访问(不仅仅是在控制器中),但是您仍然可以从控制器中设置模型中的变量,如下所示:

public function processnotesAction(){       
  $model = Mage::getSingleton('foo/process');
  $model->setData('postdata',$this->getRequest()->getPost() );
}

然后使用以下方法从模型访问它们:

$this->getData();
$this->getMyPosteDField();

或者您可以在模型中使用它

Mage::app()->getRequest()->getPost();
Mage::app()->getRequest()->getParam('myargument');

getPost也可以获取一个参数来获取单个POST值 – 但它不会获得GET值. getParam将同时返回GET和POST值.

脚本宝典总结

以上是脚本宝典为你收集整理的php – 使用magento管理模块中的控制器和模型提交表单值全部内容,希望文章能够帮你解决php – 使用magento管理模块中的控制器和模型提交表单值所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。