在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拿到了,你就可以顺利的提交表单了。
标签
热门文章
- 1 Magento ver. 2.2.0-dev - A technical prob... 16501
- 2 ECS git pull 代码很慢的问题 14633
- 3 玩客云监工客户端 13126
- 4 Magento 2 UI Form Validation 13046
- 5 Codeigniter SSL 强制重定向至https访问 12934
- 6 magento2 完整卸载模块的正确姿势 12572
- 7 Magento fix 500 12213
- 8 Magento index is locked by another reinde... 10664
- 9 Ubuntu删除日志文件 8943
- 10 Magento 2安装ElasticSearch 6.x搜索引擎-Ub... 8554
微信公众号