ahmadajah03 Wed Aug 2020 1 year ago

Tutorial Cara Membuat Newsletter pada Laravel

Dalam tutorial ini, saya akan mempelajari cara menggunakan newsletter di laravel. Anda dapat dengan mudah dan sederhana menggunakan newsletter di laravel.

Step 1 : Install Laravel App

Pada langkah ini, Anda dapat menginstal aplikasi laravel baru. Jadi buka terminal dan letakkan perintah di bawah ini.

composer create-project --prefer-dist laravel/laravel blog

Step 2 : Setup Database Configuration

Setelah berhasil menginstal aplikasi laravel kemudian mengkonfigurasi pengaturan databse. Kami akan membuka file ".env" dan mengubah nama database, nama user dan password di file env.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Enter_Your_Database_Name
DB_USERNAME=Enter_Your_Database_Username
DB_PASSWORD=Enter_Your_Database_Password

Step 3: Install Newsletter Package

Pada langkah ini, Anda dapat menginstal  newsletter di terminal perintah. Di bawah perintah ini.

composer require spatie/laravel-newsletter

Paket akan otomatis mendaftar sendiri.

Untuk mempublikasikan file konfigurasi ke config/newsletter.php, jalankan:

php artisan vendor:publish --provider="Spatie\Newsletter\NewsletterServiceProvider"

Step 4: Sign Up di MailChimp Get MailChimp API Key dan List Id

Sekarang, Anda mendaftar di MailChimp dari https://mailchimp.com/. Jika Anda sudah memiliki akun maka masuk. Setelah berhasil mendaftar atau masuk kita bisa mendapatkan kunci api dan id daftar dari mailchimp.

Step 5: SignSet MailChimp API Key dan List Id di .env file

Selanjutnya, kita perlu memperbarui API Key Mailchimp dan daftar id file in.env:

MAILCHIMP_APIKEY=xxxx 
MAILCHIMP_LIST_ID=xxxx 

Step 6: Create Route

Sekarang, kita perlu menambahkan NewsletterController di aplikasi laravel. jadi buka file "routes/web.php" Anda dan tambahkan rute berikut.

routes/web.php

Route::get('newsletter','NewsletterController@index');
Route::post('newsletter/store','NewsletterController@store');

Step 7: Create Controler

Di sini langkah ini sekarang kita harus membuat controller baru sebagai NewsletterController. Jadi jalankan perintah di bawah dan buat conteroller baru.

php artisan make:controller NewsletterController

Jika berhasil menjalankan perintah di atas, Anda dapat membuat metode untuk mendapatkan dan mengambil tabel data siswa. Jadi Mari salin di bawah dan letakkan di file controller.

app/http/controller/NewsletterController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Newsletter;

class NewsletterController extends Controller
{
    public function index()
    {
        return view('newsletter');
    }

    public function store(Request $request)
    {
        if ( ! Newsletter::isSubscribed($request->email) ) 
        {
            Newsletter::subscribePending($request->email);
            return redirect('newsletter')->with('success', 'Thanks For Subscribe');
        }
        return redirect('newsletter')->with('failure', 'Sorry! You have already subscribed ');
            
    }
}

Step 8: Create Blade File

Pada langkah ini, Anda dapat membuat tata letak di file blade ini.

/resources/views/newsletter.blade.php

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Laravel  Newsletter Tutorial With Example</title>
    <link rel="stylesheet" href="{{asset('css/app.css')}}">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">  
  </head>
  <body>
    <div class="container">
    @if (\Session::has('success'))
      <div class="alert alert-success">
        <p>{{ \Session::get('success') }}</p>
      </div><br />
     @endif
     @if (\Session::has('failure'))
      <div class="alert alert-danger">
        <p>{{ \Session::get('failure') }}</p>
      </div><br />
     @endif
      <h2 class="mb-2 mt-2">Laravel Newsletter Tutorial With Example</h2>
      <form method="post" action="{{url('newsletter/store')}}">
        @csrf
        </div>
        <div class="row">
          <div class="col-md-8"></div>
            <div class="form-group col-md-2">
              <label for="Email">Email:</label>
              <input type="text" class="form-control" name="email">
            </div>
          </div>
        <div class="row">
          <div class="col-md-4"></div>
          <div class="form-group col-md-4">
            <button type="submit" class="btn btn-success">Submit</button>
          </div>
        </div>
      </form>
    </div>
  </body>
</html>

Sekarang kami siap untuk menjalankan contoh kami jadi jalankan perintah di bawah ini untuk menjalankan cepat:

php artisan serve

Sekarang Anda dapat membuka URL di bawah ini di browser Anda:

http://localhost:8000/newsletter

Semoga itu membantu Anda.

create newsletter laravel laravel