Skip to content

Extending Mconsole

Eugene Min edited this page Feb 16, 2016 · 1 revision

Creating custom Mconsole sections

You can see Extending tutorial or read this document to get started.

All custom controllers should be resource and extend Milax\Mconsole\Http\Controllers\CMSController.

Default view() helper function is replaced by $this->view() in Milax\Mconsole\Http\Controllers\CMSController, that will allow to overwrite package views by custom application views.

Views should be placed in /resources/views/mconsole. To use views from package, use mconsole::viewname.

To create section models you need to extend your model by Mconsole base model, for example Page model:

# app/Page.php

namespace App\Page;

use Milax\Mconsole\Models\Page as BasePage;

class Page extends BasePage
{
    // ...
}

Routing and middleware

To use Mconsole middleware add it to your app/Http/Kernel.php in $routeMiddleware array:

# app/Http/Kernel.php

protected $routeMiddleware = [
    // ...
    'mconsole' => \Milax\Mconsole\Http\Middleware\MconsoleMiddleware::class,
];
# app/Http/routes.php

Route::group(['middleware' => ['web', 'mconsole']], function () {
    // ...
});

Blade extensions

Mconsole has predefined Blade extensions that will update with future Mconsole versions.

If you want to overwrite these extensions, extend Milax\Mconsole\Blade\BladeMconsoleExtensions

use Milax\Mconsole\Blade\BladeMconsoleExtensions;

class MyBladeExtensions extends BladeMconsoleExtensions
{
    // ...
}

Clone this wiki locally