steadlane/vision6

Vision6 邮件列表表单生成器

安装: 1

依赖关系: 0

建议者: 0

安全: 0

星星: 0

观察者: 2

分支: 2

类型:silverstripe-module

1.1.0 2017-05-17 02:38 UTC

README

Code Climate Latest Stable Version License

安装

此模块仅支持通过 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

  1. 登录到 Vision6 控制台并从侧边菜单中选择“列表和表单”
  2. 找到您要查找 ID 的列表并单击“编辑”按钮
  3. 您可以在地址栏中找到列表 ID,例如,对于 http://www.vision6.com.au/list/form/designer?id=377499,您的列表 ID 是 377499

独立表单字段

此模块包含一个基于 CheckboxFieldSubscribeField,唯一的区别是此验证器将实际检查电子邮件是否订阅了特定列表。

一个完整的示例,供您自己实现

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 许可证分发。