我是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>
请告诉我这里我做错了什么。
非常感谢任何帮助,对我有帮助。
由于
答案 0 :(得分:0)
您需要为表单添加密钥以确保安全性,否则它将无法正常工作。将其添加到您的表单中它应该工作:)
<input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey(); ?>" />