Newsletter building tool for UniNE websites

dev-master / 1.0.x-dev 2018-08-07 06:22 UTC

This package is not auto-updated.

Last update: 2020-08-01 12:29:43 UTC


Newsletter interface builder and send via mailjet api

!!! WARNING work in progress this is a specific package for specific content !!!


Via Composer

$ composer require designpond/newsletter


"intervention/image": "dev-master",
"inlinestyle/inlinestyle": "1.*",
"maatwebsite/excel": "~2.0.0",
"mailjet/mailjet-apiv3-php": "^1.1"


This package is used with Laravel 5.2 adn Mailjet API v3 Created for multiple websites of La Faculté de droit de l'Université de Neuchâtel. The content is meant to be used with arrets, analyse, categories and multi sites


  • Publish with php artisan vendor:publish


    • Assets --tag=assets
    • Migrations --tag=migrations
    • Seeders --tag=seeds


    • Views --tag=views
    • Master layout --tag=layouts
    • Config --tag=config
  • In newsletter.php define building blocs to use if you enable "groupe" you have to enable "arret", both go with another!

  • Define the models and files/images paths.

  • Add Mailjet credentials to your .env file

  • Migrate tables and seed types with php artisan db:seed --class=TypeSeeder

Usage simple

If you want routes with prefix set it in env.js in newsletter/js

Master layout dependencies

Javascript and css

  • jquery.js v2.2
  • jquery-ui.js v1.11
  • bootstrap.css v3
  • bootstrap.js v3

Elements to add

In the head

    @include('newsletter::Style.main', ['campagne' => isset($campagne) ? : null])

Before end of the body


You have to implement upload routes for wysiwyg redactor.js

Route::post('uploadRedactor', 'UploadController@uploadRedactor');
Route::post('uploadJS', 'UploadController@uploadJS');
Route::get('imageJson/{id?}', ['uses' => 'UploadController@imageJson']);
Route::get('fileJson/{id?}', ['uses' => 'UploadController@fileJson']);

Usage with Arrets and Categories

You have to Implement ajax routes:

Route::get('arret/{id}', 'ArretController@simple'); // build.js
Route::get('arrets/{id?}',     'ArretController@arrets'); // build.js
Route::get('categories/{id?}', 'CategorieController@categories'); // utils.js

And configure the path to you routes for angular`in newsletter/js/env.js

// Admin url
window.__env.adminUrl = 'http://dev.local/admin/';
// Base url
window.__env.ajaxUrl = 'http://dev.local/admin/ajax/';

Navigation menu items

  • Newsletters list: build/newsletter
  • Subscribers: build/subscriber
  • Import subscribers: build/import
  • External email lists: build/liste

Change log

Please see CHANGELOG for more information what has changed recently.


If you discover any security related issues, please email instead of using the issue tracker.


Cindy Leschaud


The MIT License (MIT). Please see License File for more information.