0

私は初めてで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>

ここで私が間違っていることを教えてください。

どんな助けも非常に高く評価され、私にとって役に立ちます。

ありがとう

4

1 に答える 1

0

セキュリティのためにフォームに秘密鍵を追加する必要があります。追加しないと機能しません。これをフォームに追加すると、機能するはずです:)

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