steadlane / vision6
Vision6 邮件列表表单生成器
1.1.0
2017-05-17 02:38 UTC
Requires
- php: >=5.3,<7
- silverstripe/cms: ^3.4.0
- silverstripe/framework: ^3.4.0
This package is auto-updated.
Last update: 2024-09-12 21:20:24 UTC
README
安装
此模块仅支持通过 composer 安装
composer require steadlane/vision6
安装后运行 /dev/build
以让 SilverStripe 识别此扩展
配置
您的 Vision6 API 密钥必须定义为常量 VISION6_API_KEY
。在您的 mysite/_config.php
中,您需要添加
define('VISION6_API_KEY', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
配置完成后,您可以运行 ?flush=1
以同步您的 Vision6 邮件列表与 SilverStripe。每次刷新都会刷新这些列表
短代码
要在 CMS 中包含任何给定页面的订阅者表单,您需要使用以下短代码
代码
[vision6_list, list_id=<<YOUR LIST ID>>]
注意:将 <<<YOUR LIST ID>>>
更改为您要显示的表单的 ID。请参阅 查找我的列表 ID
模板语法
在 .SS 模板中,您可以以与短代码类似的方式调用列表
代码
$Vision6List(<<<YOUR LIST ID>>>);
注意:将 <<<YOUR LIST ID>>>
更改为您要显示的表单的 ID。请参阅 查找我的列表 ID
注意事项
由于表单是动态生成的,并且为了维护 Form
提供的功能,您可能只能在每页上有一个列表。拥有多个列表会导致验证问题和数据处理问题。如果您认为可以消除此注意事项,我们强烈建议您提交 PR
查找我的列表 ID
- 登录到 Vision6 控制台并从侧边菜单中选择“列表和表单”
- 找到您要查找 ID 的列表并单击“编辑”按钮
- 您可以在地址栏中找到列表 ID,例如,对于
http://www.vision6.com.au/list/form/designer?id=377499
,您的列表 ID 是 377499
独立表单字段
此模块包含一个基于 CheckboxField
的 SubscribeField
,唯一的区别是此验证器将实际检查电子邮件是否订阅了特定列表。
一个完整的示例,供您自己实现
class TestV6Form extends Form { public function __construct(Controller $controller, $name) { /** @var Vision6SubscribeField $subscriberField */ $subscriberField = Vision6SubscribeField::create('Subscribe', 'Subscribe'); $subscriberField->setEmailFieldName('Email'); $subscriberField->setListId(375305); $subscriberField->setValue(1); $fields = FieldList::create( array( EmailField::create('Email'), $subscriberField ) ); $actions = FieldList::create( FormAction::create('process', 'Subscribe') ); $validator = RequiredFields::create( array( 'Email' ) ); parent::__construct($controller, $name, $fields, $actions, $validator); } }
然后在您的表单处理函数中,在上面的示例中为 process
,简单地
Vision6::subscribeEmail(375305, 'me@example.com');
贡献
如果您认为可以在任何方面改进此模块,请毫不犹豫地提交 PR 以供审查。
错误/问题
请使用我们的 问题跟踪器 报告错误或问题。
许可
此模块根据 BSD-3 Clause 许可证分发。