digitaladapt / magento-vigilant-form-kit
VigilantForm 的 Magento 模块。
1.0.3
2020-09-14 15:07 UTC
Requires
- php: >=7.1.0
- ext-json: *
- digitaladapt/vigilant-form-kit: ^1.3.4
This package is auto-updated.
Last update: 2024-09-22 21:30:02 UTC
README
VigilantForm 的 Magento 模块。
那么这是什么呢?
一个 Magento 模块,可以轻松将表单提交推送到 VigilantForm 的实例。
那么如何使用它呢?
首先添加库
composer require digitaladapt/magento-vigilant-form-kit
然后在 Magento 安装根目录下设置配置文件 vigilantform.json
:网站和表单标题将默认为主机名和 "submit"。
{ "url": "<SERVER_URL>", "clientId": "<CLIENT_ID>", "secret": "<CLIENT_SECRET>", "prefix": null, "honeypot": null, "sequence": null, "script_src": null, "script_class": null, "website": null, "form_title": null }
然后使用依赖注入将 \VigilantForm\MagentoKit\VigilantFormMagentoKit
类注入到任何包含您要验证的表单的块或控制器中。
// SomeBlock.php <?php namespace SomeVendor\SomeModule\Block; class SomeBlock extends \Magento\Framework\View\Element\Template { protected $vfmk; public function __construct(\VigilantForm\MagentoKit\VigilantFormMagentoKit $vfmk) { $this->vfmk = $vfmk; } public function getVFMK() { return $this->vfmk; } }
在表单模板中,在 html 表单内调用 generateHoneypot()。
// some_block.phtml <?php /** @var \SomeVendor\SomeModule\Block\SomeBlock $block */ ?> <form> <?php echo $block->getVFMK()->generateHoneypot(); ?> </form>
如果页面中有多个表单,您可以在 html 表单中调用 generateHoneypot('form'),只要您也在最后表单后调用 generateHoneypot('code')(这不是必需的,但可以提高页面加载性能)。
// some_block.phtml <?php /** @var \SomeVendor\SomeModule\Block\SomeBlock $block */ ?> <form> <?php echo $block->getVFMK()->generateHoneypot('form'); ?> </form> <form> <?php echo $block->getVFMK()->generateHoneypot('form'); ?> </form> <?php echo $block->getVFMK()->generateHoneypot('code'); ?>
处理表单提交时,您还必须依赖注入 VigilantFormMagentoKit 类,该类具有 submitForm()
函数。如果提交无法存储,它将抛出 UnexpectedValueException。
$params = $this->getRequest()->getPost(); try { $this->vfmk->submitForm($params); } catch (\UnexpectedValueException $exception) { /* do something, in the event failed to store form submission */ }
最后,重新部署您的 Magento 网站,以检测新模块并重新编译依赖注入。