Please go to admin panel > Menus > select the menu and add items to it.

Laravel Blog Package

Enjoy the package

As you saw the problems I encountered in story about Laravel blogs article, in this article I’ll show you how to install and use a great laravel blog package which adds blog functionality to your website and is compatible with laravel 6 and higher.

You can check out the code on GitHub.


Demo Video

Laravel Blog Package Demo Video

Minimum Requirements

Laravel6.x, other requirements is installed during package installation


Benefits

Everyone who use Laravel framework, can get benefit from this package. You can customize it and make any changes to fit your needs. This works with your existing user and role management.

This package gives you a dashboard to manage your blog and posts and a front-end to show your posts. You can customize the blade templates to be fit with your UI.


Installation Instructions

  1. Install via composer
composer require hessam/laravel-blogger

For a fresh Laravel installation run the following too:

composer require laravel/ui
php artisan ui vue --auth
  1. Run the following two commands to copy config file, migration files, and view files
php artisan vendor:publish --provider="WebDevEtc\BlogEtc\BlogEtcServiceProvider"

php artisan vendor:publish --tag=laravel-fulltext

swisnl/laravel-fulltext this package is used for text search. In config/laravel-fulltext.php file change exclude_feature_enabled to true and exclude_records_column_name to is_published.

  1. Execute migrations to create tables
php artisan migrate;
  1. You must add one method to your \App\User model. As the name of this method shows it determines which user can manage posts. Place your logic there.
 /**
     * Enter your own logic (e.g. if ($this->id === 1) to
     *   enable this user to be able to add/edit blog posts
     *
     * @return bool - true = they can edit / manage blog posts,
     *        false = they have no access to the blog admin panel
     */
    public function canManageBlogEtcPosts()
    {
        // Enter the logic needed for your app.
        // Maybe you can just hardcode in a user id that you
        //   know is always an admin ID?

        if (       $this->id === 1
             && $this->email === "your_admin_user@your_site.com"
           ){

           // return true so this user CAN edit/post/delete
           // blog posts (and post any HTML/JS)

           return true;
        }

        // otherwise return false, so they have no access
        // to the admin panel (but can still view posts)

        return false;
    }
  1. Create a directory in public/ named blog_image
  2. Congrats! Your blog is ready to use.
    Admin panel URI: /blog_admin
    Front URI: /blog

I work on this package to add more features. I have some to-dos for this that I list it here. You can comment if you see something is missing or is necessary.

  • Add pagination for comments
  • Category Hierarchy
  • Multi-language support

Full Package Support

I try to add more features and answer issues and fixing bugs as soon as possible. Contact me to tell me which features you want, then I plan to create them (You will get response under 1 hour). I’m online most of the time feel free if you need tips, you can talk to me with online chat or other channels.

It’s better to create an issue on Github to report a bug fix. Github Issues


Release History

  • Multi-Level Category functionality – version 7.2.x (new – current version)
  • Ability to remove images from posts, updated CKEditor – version 7.1.8
  • Updated Fulltext search package – I added a feature to swisnl/laravel-fulltext package (through a pull request) to fix an issue in search functionality. It’s important to do the config setups to work this search properly, otherwise it returns blogs which are not published in search result – version 7.1.4
  • Support for custom user model – version 7.1.0
  • Made compatible with Laravel 6.x & 7.x – version 7.0.1
Share:

Comments

2 Comments

Leave a reply

Your email address will not be published. Required fields are marked *

Posts History