在Magento模块中发布表单时出错?

时间:2013-03-09 07:29:03

标签: php magento-1.7

我是Magento的新手,我有权创建扩展程序。

我正在阅读文章并继续前进。

到目前为止,我可以在管理部分的主导航中添加我的菜单,在该菜单上,我正在调用Controller并加载View.phtml文件。

现在我在我的.phtml文件上有一个表单,我在同一个控制器上发布但是在不同的功能上,但不是调用该功能而是转到仪表板。我已经检查了表单动作,它是完美的但仍然没有调用该函数。

以下是我Controller的代码。

class Gwb_Magecrmsync_Adminhtml_CustomersController extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
    $this->loadLayout()
         ->_setActiveMenu('menu1')
         ->_addBreadcrumb(Mage::helper('adminhtml')->__('Synchronize Data'), Mage::helper('adminhtml')->__('Synchronize Data'))
         ->_title($this->__('Synchronize Data'));

    $block = $this->getLayout()->createBlock(
        'Mage_Core_Block_Template',
        'my_block_name_here',
        array('template' => 'magecrmsync/customers.phtml')
    );
    $this->getLayout()->getBlock('content')->append($block);

    $this->renderLayout();

}

public function authenticationAction()
{
    if($this->getRequest()->getPost())
    {
        try
        {
            $username = $this->getRequest()->getPost('username');
            $password = $this->getRequest()->getPost('password');

        // validate user here
        }
        catch(Exception $e)
        {
            Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
            return;
        }
    }
    else
    {
        echo "NO";
    }
    //$this->_redirect('*/*/');
}

}

以下是我的customers.phtml文件代码:

<form action="<?php echo Mage::getUrl('*/*/authentication'); ?>" method="post">
  <fieldset>
<ul>
 <li>
   <label for="username">Username</label>
   <input type="text" id="username" name="username" />
 </li>
 <li>
    <label for="password">Password</label>
    <input type="password" id="password" name="password" />
</li>
 <li>
    <input type="submit" name="authenticate" id="authenticate" value="Authenticate" />
</li>
  </ul>
 </fieldset>
</form>

请告诉我这里我做错了什么。

非常感谢任何帮助,对我有帮助。

由于

1 个答案:

答案 0 :(得分:0)

您需要为表单添加密钥以确保安全性,否则它将无法正常工作。将其添加到您的表单中它应该工作:)

<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" />