Squashed commit of the following:
commit e3861caa2e7046123be8adb2355e6c8b36e75f42
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Thu Mar 10 16:16:47 2022 +0100
Ticket689 : fix banner/title articles on breeding page
commit 74a0c75844904b0639a86ed24c5ab9bfeedcd050
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Thu Mar 10 16:12:40 2022 +0100
Ticket677 : add migration for imgs on breeding page
commit 48360d764cfb6de74d4c48ba3e5fe6def02ee673
Merge: 0eda4880 a120f51e
Author: Olivier Legat <olivier.legat@ldc.fr>
Date: Wed Mar 9 12:05:29 2022 +0000
Merge branch 'ticket689' of https://voight001.lesidc.com/legaulois2020 into ticket689
commit 0eda4880a9a39947009eb6137f2d493aa8cbfe4c
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Mon Mar 7 11:46:17 2022 +0100
Ticket 677 : add json key 'alt' in mini-crud
commit e80793ebb6efab07147200ad8b072eccca366624
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Fri Mar 4 09:42:35 2022 +0100
add drop-down breeding menu in main header
commit 5f406faf0f961456f776969858fa95b80b15388d
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Fri Mar 4 09:40:33 2022 +0100
supp header articles breeding pages
commit 89e129fcde9230912a26ccf0cdbe87e8a3a60c63
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Fri Mar 4 09:39:53 2022 +0100
fix title/banner breeding pages
commit c4688e28870a228b38ecc13091296e0005e0e04a
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Thu Mar 3 12:56:42 2022 +0100
adds breadcrumb on breeding pages (index, list, show)
commit a120f51eb42c8a79b92cf41255026597179dd23e
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Mon Mar 7 11:46:17 2022 +0100
Ticket 677 : add json key 'alt' in mini-crud
commit 3d5c8a6251abb7a45ac6b3db777b8837aa64f2bf
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Fri Mar 4 09:42:35 2022 +0100
add drop-down breeding menu in main header
commit bc6f67f4a340488eed2d86b198bd79e1541649e5
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Fri Mar 4 09:40:33 2022 +0100
supp header articles breeding pages
commit 3493c2806696c4ff1321fadb08a1648fd4704e40
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Fri Mar 4 09:39:53 2022 +0100
fix title/banner breeding pages
commit d7c63486ecdc0f91b7fb8d4a5a851e4b1e9fdc10
Author: Alexis Gousseau <alexis.gousseau@ldc.fr>
Date: Thu Mar 3 12:56:42 2022 +0100
adds breadcrumb on breeding pages (index, list, show)
65 lines
2.5 KiB
PHP
65 lines
2.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Enums\BreedingPageType;
|
|
use App\Enums\GeneralConfigType;
|
|
use App\Enums\InputType;
|
|
use App\Models\BreedingPage;
|
|
use Illuminate\Support\Facades\View;
|
|
|
|
class BreedingPageController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$generalConfig = app()->view->getShared()['GeneralConfigGlobal'] ?? null;
|
|
if ($generalConfig) {
|
|
View::share('generalConfig', $generalConfig
|
|
->where('type', GeneralConfigType::breedingPage())
|
|
->first());
|
|
}
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
return view('front.breeding-page.index');
|
|
}
|
|
|
|
public function list(BreedingPageType $pagesType)
|
|
{
|
|
$pages = BreedingPage::where('type', $pagesType)->whereStatus(true)->get();
|
|
$generalConfig = app()->view->getShared()['GeneralConfigGlobal'] ?? null;
|
|
$generalConfig = $generalConfig ? $generalConfig->where('type', GeneralConfigType::breedingPage())->first() : null;
|
|
$breederPageTypes = collect($generalConfig->data)->filter(function($v, $key) {
|
|
return strpos($key, 'breeding_page_') === 0 and isset($v['type']) and $v['inputType']['value'] === InputType::string()->value;
|
|
});
|
|
$array = [];
|
|
|
|
foreach($breederPageTypes as $key => $pageType){
|
|
$array[$pageType['type']['value']] = $generalConfig->data[str_replace('_text', '_img2', $key)];
|
|
}
|
|
|
|
$bannerUrl = $array[$pagesType->value]["value"];
|
|
|
|
return view('front.breeding-page.list', compact('pages', 'pagesType', 'bannerUrl'));
|
|
}
|
|
|
|
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassAfterLastUsed
|
|
public function show(BreedingPageType $pagesType, BreedingPage $page)
|
|
{
|
|
$generalConfig = app()->view->getShared()['GeneralConfigGlobal'] ?? null;
|
|
$generalConfig = $generalConfig ? $generalConfig->where('type', GeneralConfigType::breedingPage())->first() : null;
|
|
$breederPageTypes = collect($generalConfig->data)->filter(function($v, $key) {
|
|
return strpos($key, 'breeding_page_') === 0 and isset($v['type']) and $v['inputType']['value'] === InputType::string()->value;
|
|
});
|
|
$array = [];
|
|
|
|
foreach($breederPageTypes as $key => $pageType){
|
|
$array[$pageType['type']['value']] = $generalConfig->data[str_replace('_text', '_img2', $key)];
|
|
}
|
|
|
|
$bannerUrl = $array[$pagesType->value]["value"];
|
|
|
|
return view('front.breeding-page.show', compact('page', 'pagesType', 'bannerUrl'));
|
|
}
|
|
}
|