Add homepage
This commit is contained in:
31
app/Datatables/Shop/HomepagesDataTable.php
Normal file
31
app/Datatables/Shop/HomepagesDataTable.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Datatables\Shop;
|
||||
|
||||
use Yajra\DataTables\Html\Column;
|
||||
use App\Datatables\ParentDataTable as DataTable;
|
||||
use App\Models\Shop\Homepage;
|
||||
|
||||
class HomepagesDataTable extends DataTable
|
||||
{
|
||||
public $model_name = 'homepages';
|
||||
|
||||
public function query(Homepage $model)
|
||||
{
|
||||
return $this->buildQuery($model);
|
||||
}
|
||||
|
||||
public function modifier($datatables)
|
||||
{
|
||||
$datatables->rawColumns(['text', 'action']);
|
||||
return parent::modifier($datatables);
|
||||
}
|
||||
|
||||
protected function getColumns()
|
||||
{
|
||||
return [
|
||||
Column::make('text')->title('Texte'),
|
||||
$this->makeColumnButtons(),
|
||||
];
|
||||
}
|
||||
}
|
||||
44
app/Http/Controllers/Admin/Shop/HomepageController.php
Normal file
44
app/Http/Controllers/Admin/Shop/HomepageController.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin\Shop;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Repositories\Shop\Homepages;
|
||||
use App\Datatables\Shop\HomepagesDataTable;
|
||||
|
||||
class HomepageController extends Controller
|
||||
{
|
||||
public function index(HomepagesDataTable $dataTable)
|
||||
{
|
||||
$data = [];
|
||||
return $dataTable->render('Admin.Shop.Homepages.list', $data);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return view('Admin.Shop.Homepages.create', $data ?? []);
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$ret = Homepages::store($request->all());
|
||||
return redirect()->route('Admin.Shop.Homepages.index');
|
||||
}
|
||||
|
||||
public function show($id)
|
||||
{
|
||||
return view('Admin.Shop.Homepages.view', $data ?? []);
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
$data['homepage'] = Homepages::edit($id);
|
||||
return view('Admin.Shop.Homepages.edit', $data);
|
||||
}
|
||||
|
||||
public function destroy($id)
|
||||
{
|
||||
return Homepages::destroy($id);
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ use App\Repositories\Shop\Categories;
|
||||
use App\Repositories\Shop\Offers;
|
||||
use App\Repositories\Shop\Tags;
|
||||
use App\Repositories\Shop\TagGroups;
|
||||
use App\Repositories\Shop\Homepages;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
@@ -24,6 +25,7 @@ class HomeController extends Controller
|
||||
$data = self::init();
|
||||
$data['display_by_rows'] = $input['by_rows'] ?? false;
|
||||
$data['shelves'] = Articles::getArticlesByHomepage();
|
||||
$data['text'] = Homepages::getLast();
|
||||
// dump($data['shelves']);
|
||||
// exit;
|
||||
$data['tags'] = TagGroups::getWithTagsAndCountOffers();
|
||||
|
||||
@@ -42,5 +42,9 @@ class Shop
|
||||
|
||||
$menu->addTo('shop', 'Unités', [ 'route' => 'Admin.Shop.Unities.index', 'permission' => 'backend_access' ])
|
||||
->activeIfRoute(['Admin.Shop.Unities.*'])->order(14);
|
||||
|
||||
$menu->addTo('shop', 'Accueil', [ 'route' => 'Admin.Shop.Homepages.index', 'permission' => 'backend_access' ])
|
||||
->activeIfRoute(['Admin.Shop.Homepages.*'])->order(14);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
10
app/Models/Shop/Homepage.php
Normal file
10
app/Models/Shop/Homepage.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Shop;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Homepage extends Model
|
||||
{
|
||||
protected $guarded = ['id'];
|
||||
}
|
||||
44
app/Repositories/Shop/Homepages.php
Normal file
44
app/Repositories/Shop/Homepages.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Repositories\Shop;
|
||||
|
||||
use App\Models\Shop\Homepage;
|
||||
|
||||
class Homepages
|
||||
{
|
||||
|
||||
public static function getLast()
|
||||
{
|
||||
$model = Homepage::latest('id')->first();
|
||||
return $model ? $model->text : '';
|
||||
}
|
||||
|
||||
public static function get($id)
|
||||
{
|
||||
return Homepage::find($id);
|
||||
}
|
||||
|
||||
public static function store($data)
|
||||
{
|
||||
$item = ($data['id'] ?? false) ? self::update($data) : self::create($data);
|
||||
return $item->id;
|
||||
}
|
||||
|
||||
public static function create($data)
|
||||
{
|
||||
return Homepage::create($data);
|
||||
}
|
||||
|
||||
public static function update($data, $id = false)
|
||||
{
|
||||
$id = $id ? $id : $data['id'];
|
||||
$item = self::get($id);
|
||||
$item->update($data);
|
||||
return $item;
|
||||
}
|
||||
|
||||
public static function destroy($id)
|
||||
{
|
||||
return Homepage::destroy($id);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user