0

我是新手Magento,我被赋予了创建扩展的任务。

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

到目前为止,我可以在管理部分的主导航中添加我的菜单,并且在该菜单上我正在调用 aController并加载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>

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

任何帮助将不胜感激,并将对我有所帮助。

谢谢

4

1 回答 1

0

为了安全起见,您需要在表单中添加一个密钥,否则它将不起作用。将此添加到您的表单中,它应该可以工作:)

<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" />
于 2013-03-10T12:27:23.390 回答