大卫·克雷内克/新闻通讯

MailChimp 新闻通讯集成

安装: 82

依赖项: 0

建议者: 0

安全: 0

类型:asgard-module

0.5.0 2018-05-30 20:29 UTC

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>