大卫·克雷内克 / 新闻通讯
MailChimp 新闻通讯集成
0.5.0
2018-05-30 20:29 UTC
Requires
- php: >=5.6
- composer/installers: ~1.0
- fedeisas/laravel-mail-css-inliner: ~2.2
- idavoll/core-module: >=2.0
- spatie/laravel-newsletter: 3.7.0
- themsaid/laravel-mail-preview: >=1.2.0
Requires (Dev)
- orchestra/testbench: 3.*
- phpunit/phpunit: >=5,7
This package is auto-updated.
Last update: 2024-09-14 03:58:39 UTC
README
安装
需要 composer
composer require composer require davidkrenekcz/newsletter
运行迁移
php artisan module:migrate Newsletter
将这些提供者添加到 config\app.php 文件的数组 'providers' 的末尾
'providers' => [ /* ... current providers ...*/ Modules\Newsletter\Providers\NewsletterInitProvider::class, Fedeisas\LaravelMailCssInliner\LaravelMailCssInlinerServiceProvider::class, Spatie\Newsletter\NewsletterServiceProvider::class, ],
发布配置文件,然后编辑 config/dk-newsletter.php 中的重要变量
php artisan vendor:publish --provider="Modules\Newsletter\Providers\NewsletterServiceProvider" php artisan vendor:publish --provider="Spatie\Newsletter\NewsletterServiceProvider"
前端表单使用
将表单包含到您的模板中
@include("newsletter::frontend.form")
您可以使用变量来定义表单的类和文本,请参阅模板以获取更多详细信息。
您可以将默认的 AJAX 表单控制器包含到模板中
@include("newsletter::frontend.ajax")
或者您可以自己编写。
AJAX 表单控制器会自动向服务器发送请求。您可以像这样控制 AJAX 的行为
<script>
window.newsletterAjaxEvents.onInit = function() {
// this function runs right before AJAX request is initialized
// you can show loader here for example
};
window.newsletterAjaxEvents.onDone = function() {
// this function runs right after AJAX request ends
// you can hide loader here for example
};
window.newsletterAjaxEvents.onSuccess = function() {
// this function runs right after AJAX request ends if it was successful
// you can alert user here that his subscription was successful
};
window.newsletterAjaxEvents.onFail = function(errorCode) {
// this function runs right after AJAX request ends if it was unsuccessful
// you can alert user here that his subscription was unsuccessful
// there are a few error codes available:
if (errorCode == "DB_ERROR") {
// error with DB connection
} else if (errorCode == "ALREADY_SUBSCRIBED") {
// user is already subscribed
} else if (errorCode == "INVALID_EMAIL") {
// provided e-mail address is not valid
} else {
// unknown error
}
};
</script>