--- /dev/null
+<?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);
+
+
+ }
+ }
+}
if ($newsItem->getPageData()->get('status') != 1) {
continue;
}
+ // exclude events
+
+ if ($newsItem->getPageData()->get('type') == 'event') {
+ continue;
+ }
$item = new PageItem();
$item->initFromEntity($newsItem);
$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');