]> _ Git - pmi.git/commitdiff
wip #3520
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 30 Mar 2020 11:12:29 +0000 (13:12 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 30 Mar 2020 11:12:29 +0000 (13:12 +0200)
app/Console/Commands/CreateCategoryPages.php [new file with mode: 0644]
app/Templates/Category.php
composer.json

diff --git a/app/Console/Commands/CreateCategoryPages.php b/app/Console/Commands/CreateCategoryPages.php
new file mode 100644 (file)
index 0000000..70c1299
--- /dev/null
@@ -0,0 +1,41 @@
+<?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();
+        }
+
+    }
+}
index ee72dee3af844de62d287bdba7c3d15de0944a97..dd5ffa33c36477bbf640c1ab4ab2372c0defcc32 100644 (file)
@@ -4,13 +4,12 @@
 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()
@@ -22,6 +21,10 @@ class Category extends FirstRedirection
             'optionsmodel' => ProductType::class,
             'label' => 'Categorie',
             'tab' => 'Catégorie']);
-    }
 
+        $this->addField(['name' => 'filter',
+            'type' => 'Text',
+            'label' => 'Filtres',
+            'tab' => 'Catégorie']);
+    }
 }
index 5cc31ee515e9cec00ae578691e57e3b8f700b336..67e076ed3080f947c2c4e8527943655cfd07e2f5 100644 (file)
@@ -17,7 +17,8 @@
         "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,