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:
define('VISION6_API_KEY', 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
Once configured you can then ?flush=1
to syncronise your Vision6 Mailing Lists with SilverStripe. These lists will be refreshed upon every flush
To include a subscriber form on any given page from within the CMS you will need to use the shortcode below:
Code:
[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
Within an .SS template you can invoke a list in a similar way you would for the shortcode
Code:
$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
http://www.vision6.com.au/list/form/designer?id=377499
your list ID is 377499This 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');
$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);
}
}
Then in your form handling function, which in the above example would be process
simply
Vision6::subscribeEmail(375305, '[email protected]');
If you feel you can improve this module in any way, shape or form please do not hesitate to submit a PR for review.
To report a bug or an issue please use our issue tracker.
This module is distributed under the BSD-3 Clause license.
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem