From 88a2463d13ad70174b84b3399adaba4cd750821d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Mon, 3 Oct 2016 01:36:52 +0200 Subject: [PATCH] FIX: render menu link to index when page is set as homepage --- app/Widgets/Menu/Presenters/Menu.php | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/app/Widgets/Menu/Presenters/Menu.php b/app/Widgets/Menu/Presenters/Menu.php index db3014d6..9dc988ab 100644 --- a/app/Widgets/Menu/Presenters/Menu.php +++ b/app/Widgets/Menu/Presenters/Menu.php @@ -5,10 +5,10 @@ use App\Models\Content; use App\Models\Widget; use App\Models\WidgetType; use App\Widgets\Contracts\WidgetRenderer; +use App\Widgets\Menu\Menu as WidgetMenu; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Route; -use Mcamara\LaravelLocalization\Facades\LaravelLocalization; class Menu implements WidgetRenderer { @@ -24,11 +24,10 @@ class Menu implements WidgetRenderer public static function render($settings) { $links = (array)$settings->links; - $pageIds = array_keys($links); // get pages - $pages = \App\Widgets\Menu\Menu::selectContentPages($pageIds); + $pages = WidgetMenu::selectContentPages($pageIds); // sort links using "order" uasort($links, function ($a, $b) { @@ -46,18 +45,16 @@ class Menu implements WidgetRenderer if (!isset($pages[$pageId])) { continue; } - $page = $pages[$pageId]; - $active = false; - if (($page->is_homepage && $route == 'page.index') || ($route == 'page.content' && isset($parameters['url']) && $parameters['url'] == $page->url)) { - $active = true; - } + $page = $pages[$pageId]; + $active = ($page->is_homepage && $route == 'page.index') || ($route == 'page.content' && isset($parameters['url']) && $parameters['url'] == $page->url); + $route = $page->is_homepage ? route('page.index') : route('page.content', ['url' => $page->url]); $code .= ' $page->url]) . '">' . e($page->title) . ''; + $code .= '>' . e($page->title) . ''; } $code .= "";