You can override any of the BREAD views for a single BREAD by creating a new folder in resources/views/vendor/voyager/slug-name where slug-name is the slug that you have assigned for that table. There are 4 files that you can override:
browse.blade.php
edit-add.blade.php
read.blade.php
order.blade.php
Alternatively you can override the views for all BREADs by creating any of the above files under resources/views/vendor/voyager/bread
You can override the submit button without the need to override the whole edit-add.blade.php by extending the submit-buttons section:
You can override the controller for a single BREAD by creating a controller which extends Voyagers controller, for example:
After that go to the BREAD-settings and fill in the Controller Name with your fully-qualified class-name:
You can now override all methods from the
Only use this method if you know what you are doing We don't recommend or support overriding all controllers as you won't get any code-changes made in future updates.
If you want to override any of Voyagers core controllers you first have to change your config file config/voyager.php:
Then run php artisan voyager:controllers, Voyager will now use the child controllers which will be created at App/Http/Controllers/Voyager
You are also able to override Voyagers models if you need to. To do so, you need to add the following to your AppServiceProviders register method:
Where name is the class-name of the model and object the fully-qualified name of your custom model. For example:
The next step is to create your model and make it extend the original model. In case of DataRow:
If the model you are overriding has an associated BREAD, go to the BREAD settings for the model you are overriding and replace the Model Name with your fully-qualified class-name. For example, if you are overriding the Voyager Menu model with your own App\Menu model:
@extends('voyager::bread.edit-add')
@section('submit-buttons')
@parent
<button type="submit" class="btn btn-primary save">Save And Publish</button>
@endsection<?php
namespace App\Http\Controllers;
class VoyagerCategoriesController extends \TCG\Voyager\Http\Controllers\VoyagerBaseController
{
//...
}/*
|--------------------------------------------------------------------------
| Controllers config
|--------------------------------------------------------------------------
|
| Here you can specify voyager controller settings
|
*/
'controllers' => [
'namespace' => 'App\\Http\\Controllers\\Voyager',
],Voyager::useModel($name, $object);<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Events\Dispatcher;
use TCG\Voyager\Facades\Voyager;
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Voyager::useModel('DataRow', \App\DataRow::class);
}
// ...
}<?php
namespace App;
class DataRow extends \TCG\Voyager\Models\DataRow
{
// ...
}
