【发布时间】:2012-03-15 19:22:08
【问题描述】:
我正在构建一个管理模块,需要处理一个表单,但是在将变量发送到 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(); ?>" />
我这样做是因为已为管理员启用了安全密钥。它给了我一个像这样的网址:
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'); 将其实际插入数据库中,但对目前的进展感觉不太乐观。
【问题讨论】:
标签: php model-view-controller magento