]> _ Git - pmi.git/commitdiff
fix #3547 @0:15
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 6 Apr 2020 08:19:11 +0000 (10:19 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Mon, 6 Apr 2020 08:19:11 +0000 (10:19 +0200)
app/Templates/Category.php
app/Templates/Events.php [deleted file]
app/Templates/News.php

index b1177f8e3f3fe451c36a3feb212959ccca5c6482..9d787ba7655b01cffe622d39826af3c2babd6e1a 100644 (file)
@@ -9,6 +9,8 @@ use Cubist\Backpack\app\Magic\Menu\PageItem;
 
 class Category extends Base
 {
+    protected static $_products = [];
+
     public function getName()
     {
         return 'CatĂ©gorie';
@@ -72,7 +74,7 @@ class Category extends Base
 
     public function setMenuChildren($menu)
     {
-        $products = Product::whereVariant($menu->getVariant())->get();
+        $products = self::_getProducts($menu->getVariant());
         $data = $menu->getPageData();
         $cat = $data->get('category');
         $filter = $menu->getPageData()->get('filter', '');
@@ -101,4 +103,13 @@ class Category extends Base
             $menu->addChild($detail);
         }
     }
+
+    public static function _getProducts($variant)
+    {
+
+        if (!isset(self::$_products[$variant])) {
+            self::$_products[$variant] = Product::whereVariant($variant)->get();
+        }
+        return self::$_products[$variant];
+    }
 }
diff --git a/app/Templates/Events.php b/app/Templates/Events.php
deleted file mode 100644 (file)
index 39a3648..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-namespace App\Templates;
-
-use App\Models\News as NewsModel;
-use Cubist\Backpack\app\Magic\Menu\PageItem;
-use Cubist\Backpack\app\Template\InternalRedirection;
-
-class Events extends InternalRedirection
-{
-
-    public function getName()
-    {
-        return 'EvĂ©nements';
-    }
-
-    public function setMenuChildren($menu)
-    {
-        $news = NewsModel::whereVariant()->get();
-
-        $i = 0;
-
-        foreach ($news as $newsItem) {
-            // Don't include offline items
-            if ($newsItem->getPageData()->get('status') != 1) {
-                continue;
-            }
-            if ($newsItem->getPageData()->get('type') !== 'event') {
-                continue;
-            }
-
-            $item = new PageItem();
-            $item->initFromEntity($newsItem);
-            $item->setLocale($menu->getLocale());
-            $item->setVariant($menu->getVariant());
-            $item->setTitle($newsItem->title);
-            $item->setHref($newsItem->slug);
-            $item->setId('news/' . $newsItem->id);
-            $item->setController(['controller' => 'NewsController', 'action' => 'view', 'params' => ['id' => $newsItem->id]]);
-
-            // Only show 10 latest news in the menus
-            $item->hideInAllMenus();
-            if ($i <= 9) {
-                $item->showInAllMenus();
-            } else {
-                $item->hideInAllMenus();
-            }
-            $i++;
-
-            $menu->addChild($item);
-
-
-        }
-    }
-}
index 272cf3f09fec771d5fe0d89489520e2a179af141..2ecdc08125e23632cc0d5bdc98a1ab86de07ced7 100644 (file)
@@ -28,11 +28,6 @@ class News extends Base
             if ($newsItem->getPageData()->get('status') != 1) {
                 continue;
             }
-            // exclude events
-
-            if ($newsItem->getPageData()->get('type') == 'event') {
-                continue;
-            }
 
             $item = new PageItem();
             $item->initFromEntity($newsItem);
@@ -42,16 +37,7 @@ class News extends Base
             $item->setHref($newsItem->slug);
             $item->setId('news/' . $newsItem->id);
             $item->setController(['controller' => 'NewsController', 'action' => 'view', 'params' => ['id' => $newsItem->id]]);
-
-            // Only show 10 latest news in the menus
-
             $item->hideInAllMenus();
-            if ($i <= 9) {
-                $item->showInAllMenus();
-            } else {
-                $item->hideInAllMenus();
-            }
-            $i++;
 
             $menu->addChild($item);
         }