Как создать пользовательское действие формы для контроллера в HTML администратора от Magento?

Я создал форму в админ HTML, но ее действие не работает должным образом, действие не приходит к контроллеру. Мой файл config.xml показан ниже

<adminhtml>
<menu>
<customercare module="customercare">
<title>Calls</title>
<sort_order>100</sort_order>
<children>
<customercare module="customercare">
<title>View Missed Calls</title>
<sort_order>0</sort_order>
<action>admin_customercare/adminhtml_missedcall</action>
</customercare>
<customercarecalllog module="customercare">
<title>View Call Logs</title>
<sort_order>1</sort_order>
<action>admin_customercare/adminhtml_calllog</action>
</customercarecalllog>
</children>
</customercare>
<customer>
<children>
<customercarevirtualretialerrequest module="customercare">
<title>Manage Virtaul Retailers</title>
<sort_order>10</sort_order>
<action>admin_customercare/adminhtml_virtualretialerrequest</action>
</customercarevirtualretialerrequest>
</children>
</customer>

</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<customercare translate="title" module="customercare">
<title>Calls</title>
<sort_order>1000</sort_order>
<children>
<customercare translate="title">
<title>View Missed Calls</title>
</customercare>
<customercare translate="title">
<title>Manage Missed Calls</title>
<sort_order>0</sort_order>
</customercare>
<customercarecalllog translate="title">
<title>View Call Logs</title>
<sort_order>1</sort_order>
</customercarecalllog>

</children>
</customercare>
</children>
<customer>
<children>
<virtualretialerrequest translate="title" module="customer">
<title>Manage Virtual Retailers</title>
<sort_order>10</sort_order>
</virtualretialerrequest>
</children>
</customer>

</admin>
</resources>
</acl>

Файл моего контроллера

<?php
class Suyati_Customercare_Adminhtml_VirtualretialerrequestController extends Mage_Adminhtml_Controller_Action
{
protected function _isAllowed()
{
return true;
}

public function indexAction()
{

$this->loadLayout();
$block = $this->getLayout()->createBlock(
"Mage_Core_Block_Template",
"virtual-registration",
array('template' => 'customercare/virtual_retailer_registration_admin_form.phtml')
);
$this->_addContent($block);
$this->renderLayout();

}

public function postAction()
{
echo "hello"; die();
}
}

Файл действия формы Phtml, расположенный в этом пути app / design / adminhtml / default / default / template / customercare / virtual_retailer_registration_admin_form.phtml

<form action="<?php echo Mage::helper("adminhtml")->getUrl("customercare/virtualretialerrequest/post"); ?>" id="retailerForm" method="post">
<input type="hidden" name="form_key" value="<? echo $this->getFormKey(); ?>" />

Когда я пытаюсь отправить свою форму, она идет на панель, а не в файл действий контроллера. Пожалуйста помоги мне с этим. Мне просто нужно получить данные поста в файле контроллера и отправить электронное письмо администратору.

1

Решение

я думаю проблема с формой ключа
менять

<input type="hidden" name="form_key" value="<? echo $this->getFormKey(); ?>" />

в

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

Другие решения

Других решений пока нет …