php - Laravel Backpack custom CRUD namespaces for multiple panels
one text
First I'm gonna explain what I'm planning to do and what I've done so far, then tell you what problems I've encountered.
I'm building a panel which covers an admin, a seller and a customer panel.
The admin panel isn't much of a trouble since I'll be using the Backstrap
views.
But for the other two the designs are completely different eg login forms, button styles, tables, pagination etc.
The way that I intend to implement this is to publish some of backpack codes and put them in customer/seller directories in order to keep them clean. This image might give you an example:
Notice that the files are in seller/
directory which isn't the default path. The default path based on the docs is something like this: resources\views\vendor\backpack\
.
Since the DataTables for lists have different styles, I had to publish datatables_log.blade.php
as well and include it in my list.blade.php
like this:
which overrides the default line which was something like @include('crud::inc.datatables_logic')
Problem: By doing this, when I create a new CRUD like Products
and want to show my customized create button, I'm gonna have to hide the default create button:
CRUD::removeButton('create');
and use this code to show the customized button:
CRUD::addButton('top', 'create', 'view', 'vendor.backpack.seller.crud.buttons.create', 'end');
which is quite cumbersome. Is it possible to declare something like backpack::seller::crud
and use it for sellers (as well as something similar for customers) and leave the default namespace for admins intact so that they don't interfere with each other? If so, how would I be able to use it?
Question: Is this approach entirely wrong and there's something that I missed which would've made my life easier?
Source