]> _ Git - pmi.git/commitdiff
wip #3520 @1
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 31 Mar 2020 14:44:48 +0000 (16:44 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Tue, 31 Mar 2020 14:44:48 +0000 (16:44 +0200)
app/Templates/Events.php [new file with mode: 0644]
app/Templates/News.php

diff --git a/app/Templates/Events.php b/app/Templates/Events.php
new file mode 100644 (file)
index 0000000..39a3648
--- /dev/null
@@ -0,0 +1,55 @@
+<?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 672ece9cfadbf8f491fe657bd16a086b7d8891df..272cf3f09fec771d5fe0d89489520e2a179af141 100644 (file)
@@ -28,6 +28,11 @@ 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);
@@ -39,21 +44,16 @@ class News extends Base
             $item->setController(['controller' => 'NewsController', 'action' => 'view', 'params' => ['id' => $newsItem->id]]);
 
             // Only show 10 latest news in the menus
-            // exclude events
-            if ($newsItem->getPageData()->get('type') == 'event') {
-                continue;
+
+            $item->hideInAllMenus();
+            if ($i <= 9) {
+                $item->showInAllMenus();
             } else {
                 $item->hideInAllMenus();
-                if ($i <= 9) {
-                    $item->showInAllMenus();
-                } else {
-                    $item->hideInAllMenus();
-                }
-                $i++;
             }
-            $menu->addChild($item);
-
+            $i++;
 
+            $menu->addChild($item);
         }
 
         Debugbar::stopMeasure('nav_news');