From 411982acc2467bd1c377b5f8a5b4facac8c5f6bd Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Mon, 6 Apr 2020 10:19:11 +0200 Subject: [PATCH] fix #3547 @0:15 --- app/Templates/Category.php | 13 ++++++++- app/Templates/Events.php | 55 -------------------------------------- app/Templates/News.php | 14 ---------- 3 files changed, 12 insertions(+), 70 deletions(-) delete mode 100644 app/Templates/Events.php diff --git a/app/Templates/Category.php b/app/Templates/Category.php index b1177f8..9d787ba 100644 --- a/app/Templates/Category.php +++ b/app/Templates/Category.php @@ -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 index 39a3648..0000000 --- a/app/Templates/Events.php +++ /dev/null @@ -1,55 +0,0 @@ -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); - - - } - } -} diff --git a/app/Templates/News.php b/app/Templates/News.php index 272cf3f..2ecdc08 100644 --- a/app/Templates/News.php +++ b/app/Templates/News.php @@ -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); } -- 2.39.5