--- /dev/null
+<?php
+
+
+namespace App\Console\Commands;
+
+use App\Models\ProductType;
+use Cubist\Backpack\app\Magic\Models\CMSPage;
+use Cubist\Util\Str;
+use Illuminate\Console\Command;
+
+class CreateCategoryPages extends Command
+{
+ protected $signature = 'pmi:createcategorypages';
+ protected $description = 'Create categories pages from categories';
+
+ public function handle()
+ {
+ CMSPage::where('id', '>', 45)->delete();
+ foreach (ProductType::all() as $item) {
+ $data = $item->getPageData(true);
+ $page = new CMSPage();
+ $page->useTemplate('Category');
+ $page->setAttribute('template', 'category');
+ $page->setAttribute('name', Str::slug($data->get('name')));
+ $page->setAttribute('title', $data->getWithTranslations('name'));
+ $page->setAttribute('seo_translatable', $data->getWithTranslations('seo_translatable'));
+ $intro = $data->getWithTranslations('intro');
+ $extras = ['fr' => ['intro' => $intro['fr'] ?? [], 'category' => $data->get('id')],
+ 'en' => ['intro' => $intro['en'] ?? [], 'category' => $data->get('id')]
+ ];
+ $page->setAttribute('extras_translatable', $extras);
+ $page->setAttribute('search_internal_translatable', ['fr' => ['search_internal_enabled' => 1], 'en' => ['search_internal_enabled' => 1]]);
+ $page->setAttribute('status', ['fr' => 1, 'en' => 1, 'de' => 1]);
+ $page->setAttribute('menu_desktop', $data->get('menu_desktop'));
+ $page->setAttribute('menu_mobile', $data->get('menu_mobile'));
+ $page->setAttribute('variant', $data->get('variant', ['PMI', 'MICHSCI']));
+ $page->save();
+ }
+
+ }
+}
namespace App\Templates;
use App\Models\ProductType;
-use Cubist\Backpack\app\Template\FirstRedirection;
-class Category extends FirstRedirection
+class Category extends Base
{
public function getName()
{
- return 'Catégories';
+ return 'Catégorie';
}
public function init()
'optionsmodel' => ProductType::class,
'label' => 'Categorie',
'tab' => 'Catégorie']);
- }
+ $this->addField(['name' => 'filter',
+ 'type' => 'Text',
+ 'label' => 'Filtres',
+ 'tab' => 'Catégorie']);
+ }
}
"cubist/cms-back": "dev-backpack3.6",
"league/csv": "^9.2",
"nothingworks/blade-svg": "^0.3.1",
- "spatie/laravel-blade-x": "^2.2"
+ "spatie/laravel-blade-x": "^2.2",
+ "ext-json": "*"
},
"config": {
"optimize-autoloader": true,