在Magento 2 模板phtml添加Form Key
开发自定义模块发现,Magento 2 表单提交的时候会自动重定向到主页。
如: 后台表单会重定向到面板页面
Magento 2 中From key是阻止伪造的跨站请求。
如何获取和设置Form key呢,接下来就具体讲解下:
在phtml中
<input type="hidden" name="form_key" value="<?php echo $block->getFormKey() ?>" />
Template里的变量值是通过Block传过来的
<?phpnamespace Company\Module\Block\Adminhtml\BlockFolder;class BlockPage extends \Magento\Framework\View\Element\Template{/*** @param \Magento\Backend\Block\Widget\Context $context* @param \Magento\Framework\Data\Form\FormKey $formKey* @param array $data*/public function __construct(\Magento\Backend\Block\Widget\Context $context,\Magento\Framework\Data\Form\FormKey $formKey,array $data = []) {parent::__construct($context, $data);$this->formKey = $formKey;}/*** get form key** @return string*/public function getFormKey(){return $this->formKey->getFormKey();}}
或者在phtml中直接获取
<?php echo $block->getBlockHtml('formkey')?>
上面的语句将会输出类似于下面的html语句
<input type="hidden" value="7yRSvrrxnQa5B62o">
综上,Form key拿到了,你就可以顺利的提交表单了。