turkmentv/app/Http/Controllers/Admin/SliderCrudController.php

85 lines
3.1 KiB
PHP
Raw Normal View History

2019-05-22 12:49:28 +00:00
<?php
namespace App\Http\Controllers\Admin;
use Backpack\CRUD\app\Http\Controllers\CrudController;
// VALIDATION: change the requests to match your own file names if you need form validation
use App\Http\Requests\SliderRequest as StoreRequest;
use App\Http\Requests\SliderRequest as UpdateRequest;
use Backpack\CRUD\CrudPanel;
/**
* Class SliderCrudController
* @package App\Http\Controllers\Admin
* @property-read CrudPanel $crud
*/
class SliderCrudController extends CrudController
{
public function setup()
{
/*
|--------------------------------------------------------------------------
| CrudPanel Basic Information
|--------------------------------------------------------------------------
*/
$this->crud->setModel('App\Models\Slider');
$this->crud->setRoute(config('backpack.base.route_prefix') . '/slider');
$this->crud->setEntityNameStrings('slider', 'sliders');
2021-04-28 12:28:45 +00:00
$this->crud->orderBy('updated_at', 'DESC');
2019-05-22 12:49:28 +00:00
/*
|--------------------------------------------------------------------------
| CrudPanel Configuration
|--------------------------------------------------------------------------
*/
// TODO: remove setFromDb() and manually define Fields and Columns
//$this->crud->setFromDb();
$this->crud->addColumns([
2019-05-31 22:06:08 +00:00
['name' => 'page_id', 'type' => 'select', 'entity' => 'page', 'attribute' =>'title', 'model' => 'App\Models\Page',
'lable'=>'Page'],
['name' => 'home','type' => 'boolean', 'lable' => 'Home'],
2019-08-23 12:27:39 +00:00
['name' => 'url','type' => 'text', 'lable' => 'Url'],
2019-05-22 12:49:28 +00:00
['name' => 'img_url','type' => 'text', 'lable' => 'Image'],
['name' => 'alt','type' => 'text', 'lable' => 'Alt'],
2019-05-31 22:06:08 +00:00
2019-05-22 12:49:28 +00:00
]);
$this->crud->addFields([
2019-05-31 22:06:08 +00:00
['name' => 'page_id', 'type' => 'select', 'entity' => 'page', 'attribute' =>'title', 'model' => 'App\Models\Page',
'lable'=>'Page'],
2019-08-23 12:27:39 +00:00
['name' => 'url','type' => 'text', 'lable' => 'Url'],
2019-05-22 12:49:28 +00:00
['name' => 'img_url','type' => 'browse', 'lable' => 'Image'],
['name' => 'alt','type' => 'text', 'lable' => 'Alt'],
2019-05-31 22:06:08 +00:00
['name' => 'home','type' => 'checkbox', 'lable' => 'Home'],
2019-05-22 12:49:28 +00:00
]);
// add asterisk for fields that are required in SliderRequest
$this->crud->setRequiredFields(StoreRequest::class, 'create');
$this->crud->setRequiredFields(UpdateRequest::class, 'edit');
}
public function store(StoreRequest $request)
{
// your additional operations before save here
$redirect_location = parent::storeCrud($request);
// your additional operations after save here
// use $this->data['entry'] or $this->crud->entry
return $redirect_location;
}
public function update(UpdateRequest $request)
{
// your additional operations before save here
$redirect_location = parent::updateCrud($request);
// your additional operations after save here
// use $this->data['entry'] or $this->crud->entry
return $redirect_location;
}
}