2013-03-09 7 views
0

Я новичок в Magento, и мне задана задача создать расширение.Ошибка при отправке формы в модуле 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

Вам нужно добавить секретный ключ к форме для безопасности, или она не будет работать. Добавьте это в свою форму и он должен работать :)

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

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

+0

взгляните на это: http://www.spinonesolutions.com/2011/01/admin-form-post-form_key/ – Andrew

+0

Я только что увидел это, но я не понимаю, почему в моей форме ключ пуст? –

Смежные вопросы