--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use Cubist\Backpack\app\Magic\Controllers\CubistMagicNestedController;
+
+class ApplicationCrudController extends CubistMagicNestedController
+{
+ protected $_modelNamespace = 'App\Models\Page';
+ protected $_routeURL = 'application';
+ protected $_singular = 'application';
+ protected $_plural = 'applications';
+ protected $_clonable = true;
+ protected $_bulk = true;
+ protected $_oneInstance= false;
+}
--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use Cubist\Backpack\app\Magic\Controllers\CubistMagicController;
+
+class CrudController extends CubistMagicController
+{
+ protected $_modelNamespace = 'App\Models\Application';
+ protected $_routeURL = '';
+ protected $_singular = '';
+ protected $_plural = '';
+ protected $_clonable = true;
+ protected $_bulk = true;
+ protected $_oneInstance= false;
+}
--- /dev/null
+<?php
+
+
+namespace App\Models;
+
+
+use Cubist\Backpack\app\Magic\Models\CubistMagicPageModel;
+
+class Application extends CubistMagicPageModel
+{
+ protected $table = 'applications';
+
+ protected $_options = ['name' => 'application',
+ 'singular' => 'application',
+ 'plural' => 'applications'];
+
+ public function setFields()
+ {
+ $this->addField(['name' => 'title',
+ 'label' => 'Titre',
+ 'type' => 'Text',
+ 'column' => true,
+ 'tab' => 'Contenus']);
+
+ $this->addField(['name' => 'image',
+ 'type' => 'Images',
+ 'label' => 'Image',
+ 'tab' => 'Contenus']);
+
+ $this->addField(['name' => 'content',
+ 'type' => 'Markdown',
+ 'label' => 'Contenu',
+ 'tab' => 'Contenus'
+ ]);
+
+ $this->addField(['name' => 'title_solutions',
+ 'type' => 'Text',
+ 'label' => 'Titre (Solution)',
+ 'hint' => 'Titre affiché sur la page « Solution »',
+ 'tab' => 'Page « Solution »']);
+
+ $this->addField(['name' => 'image_solutions',
+ 'type' => 'Images',
+ 'label' => 'Image (Solution)',
+ 'hint' => 'Image affichée sur la page « Solutions »',
+ 'tab' => 'Page « Solution »']);
+
+ $this->addField(['name' => 'related',
+ 'label' => 'Produits associés',
+ 'type' => 'SelectFromModel',
+ 'optionsmodel' => 'App\Models\Product',
+ 'multiple' => true,
+ 'attribute' => 'reference',
+ 'tab' => 'Produits associés',
+ ]);
+
+ parent::setFields();
+ }
+}
@can('dev')
<li><a href='{{ backpack_url('page') }}'><i class='fa fa-file-o'></i> <span>Pages</span></a></li>
<li><a href="{{ backpack_url('news') }}"><i class="fa fa-newspaper-o"></i> <span>News</span></a></li>
+ <li><a href="{{ backpack_url('application') }}"><i class="fa fa-archive"></i> <span>Applications</span></a></li>
@can('backpack_settings')
<li><a href='{{ backpack_url('settings') }}'><i class='fa fa-cog'></i> <span>Paramètres</span></a></li>
@endcan
'middleware' => ['web', config('backpack.base.middleware_key', 'admin')],
'namespace' => 'App\Http\Controllers\Admin',
], function () { // custom admin routes
+ CRUD::resource('', 'CrudController')->with(function () {
+ Route::match(['post'], '/{id}/media', 'CrudController@uploadMedia');
+ Route::match(['delete'], '/{id}/media/{mediaId}', 'CrudController@deleteMedia');
+ Route::match(['post'], '/{id}/media/reorder', 'CrudController@reorderMedia');
+ });
CRUD::resource('locale', 'LocaleCrudController')->with(function () {
Route::match(['post'], 'locale/{id}/media', 'LocaleCrudController@uploadMedia');
Route::match(['delete'], 'locale/{id}/media/{mediaId}', 'LocaleCrudController@deleteMedia');
Route::match(['delete'], 'news/{id}/media/{mediaId}', 'NewsCrudController@deleteMedia');
Route::match(['post'], 'news/{id}/media/reorder', 'NewsCrudController@reorderMedia');
});
- CRUD::resource('page', 'PageCrudController')->with(function () {
- Route::match(['post'], 'page/{id}/media', 'PageCrudController@uploadMedia');
- Route::match(['delete'], 'page/{id}/media/{mediaId}', 'PageCrudController@deleteMedia');
- Route::match(['post'], 'page/{id}/media/reorder', 'PageCrudController@reorderMedia');
+ CRUD::resource('application', 'ApplicationCrudController')->with(function () {
+ Route::match(['post'], 'application/{id}/media', 'ApplicationCrudController@uploadMedia');
+ Route::match(['delete'], 'application/{id}/media/{mediaId}', 'ApplicationCrudController@deleteMedia');
+ Route::match(['post'], 'application/{id}/media/reorder', 'ApplicationCrudController@reorderMedia');
});
CRUD::resource('product', 'ProductCrudController')->with(function () {
Route::match(['post'], 'product/{id}/media', 'ProductCrudController@uploadMedia');