提交Magento表单页面加载


Submitting Magento form on page load

我正在开发一个扩展,将第三方API集成到Magento中。包括的步骤是填写我们网站上的表格。当用户单击submit时,API将在其站点上预填写表单,然后由用户批准该表单。一些get字符串变量被发送到我们站点上的页面,这将触发第二个API调用(在后台)来检索令牌。一旦创建令牌我然后保存标记第二个隐藏表单并提交通过这个函数:

function submitAccount() {
 var formId = 'form-payment-submit';
    var myForm = new VarienForm(formId, true);
    var postUrl = '<?php echo $this->getUrl('marketplacepayment/marketplaceaccount/paymentsetup/') ?>';
    if (myForm.validator.validate()) {
            new Ajax.Updater(
                { success:console.log("form success") }, postUrl, {
                    method:'post',
                    asynchronous:false,
                    evalScripts:false,
                    onComplete:function(request, json) {
                       //submitButtonOn();
                       alert('success!');
                    },
                    parameters: $(formId).serialize(true),
                }
            );
      }
}

我的模块中的函数然后处理将值保存到数据库:

public function paymentsetupAction(){
    if(!(empty($_POST['access']))){
                // save tokens to db
                $collection = Mage::getModel('marketplace/userprofile')->getCollection();
                $collection->addFieldToFilter('mageuserid',array('eq'=>$_POST['userid']));
                foreach($collection as $row){
                    $id=$row->getAutoid();
                }
                $collectionload = Mage::getModel('marketplace/userprofile')->load($id);
                $collectionload->setaccesstoken($_POST['access']);
                $collectionload->setrefreshtoken($_POST['refresh']);
                $collectionload->setstripekey($_POST['key']);
                $collectionload->save(); 

            Mage::getSingleton('core/session')->addSuccess( Mage::helper('marketplace')->__('Your payment information has been sucessfully saved.'));
            $this->_redirect('marketplacepayment/marketplaceaccount/payment');

    }
}

问题是令牌未被保存但不出现错误。我不能写任何信息的页面,因为提交是通过AJAX,所以我在如何调试的损失。你发现付款设置有什么问题吗?或者有没有更简单的方法让我明白为什么它不起作用?

问题是$collection部分-我使用了错误的数据库列名:

$collectionload = Mage::getModel('marketplace/userprofile')->load($id);
$collectionload->setaccess_token($_POST['access']);
$collectionload->setrefresh_token($_POST['refresh']);
$collectionload->setstripe_key($_POST['key']);
$collectionload->save(); 

很抱歉随机提出一个不重要的问题。