A form generator for Vision6 mailing lists

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 2

Forks: 2


1.1.0 2017-05-17 02:38 UTC


Code Climate Latest Stable Version License


This module only supports installation via composer:

composer require steadlane/vision6

Run /dev/build afterwards for SilverStripe to become aware of this extension


Your Vision6 API key must be defined as the constant VISION6_API_KEY. In your mysite/_config.php you'll be required to add:


Once configured you can then ?flush=1 to syncronise your Vision6 Mailing Lists with SilverStripe. These lists will be refreshed upon every flush

Short Code

To include a subscriber form on any given page from within the CMS you will need to use the shortcode below:


[vision6_list, list_id=<<YOUR LIST ID>>]

Note: Change <<<YOUR LIST ID>>> to the ID of the form you want to display. See Finding my List ID

Template Syntax

Within an .SS template you can invoke a list in a similar way you would for the shortcode


$Vision6List(<<<YOUR LIST ID>>>);

Note: Change <<<YOUR LIST ID>>> to the ID of the form you want to display. See Finding my List ID


Due to the way forms are being generated dynamically, and in order to maintain the functionality provided by Form you may only have one list per page. Having more will lead to validation issues and data handling issues. If you feel you can eliminate this caveat then we implore you to submit a PR

Finding my List ID

  1. Login to Vision6 dashboard and select "Lists and Forms" from the side menu
  2. Find the list you want the ID for and click the "Edit" button
  3. You can find the list ID in the address bar, eg for your list ID is 377499

Independent Form Field

This module comes with a SubscribeField which is based off CheckboxField the only difference is that the validator on this will actually check to see if an email is subscribed to a specific list.

A complete example for you to implement this yourself:

class TestV6Form extends Form
    public function __construct(Controller $controller, $name)
        /** @var Vision6SubscribeField $subscriberField */
        $subscriberField = Vision6SubscribeField::create('Subscribe', 'Subscribe');

        $fields = FieldList::create(

        $actions = FieldList::create(
            FormAction::create('process', 'Subscribe')

        $validator = RequiredFields::create(

        parent::__construct($controller, $name, $fields, $actions, $validator);

Then in your form handling function, which in the above example would be process simply

Vision6::subscribeEmail(375305, '');


If you feel you can improve this module in any way, shape or form please do not hesitate to submit a PR for review.

Bugs / Issues

To report a bug or an issue please use our issue tracker.


This module is distributed under the BSD-3 Clause license.