getLocale(); $supportedLocales = LaravelLocalization::getSupportedLanguagesKeys(); $pageHome = DynamicPage::getModelsCached() ->where('status', PageStatusEnum::published) ->where('isRoot', true) ->first(); // * DYNAMIC PAGES. DynamicPage::getModelsCached()->map(function (DynamicPage $dynamicPageModel) use ($supportedLocales, $pageHome) { collect($supportedLocales)->map(function (string $locale) use ($dynamicPageModel, $pageHome) { Breadcrumbs::for( sprintf("front.dynamic-pages.%s.%s", $dynamicPageModel->id_key, $locale), function (Generator $trail) use ($locale, $dynamicPageModel, $pageHome) { if (!is_null($dynamicPageModel->page_id)) { $trail->parent(sprintf( "front.dynamic-pages.%s.%s", $dynamicPageModel->parentPage->id_key, $locale, )); } elseif (isset($pageHome) && $dynamicPageModel->id_key !== $pageHome->id_key) { $trail->parent(sprintf("front.dynamic-pages.%s.%s", $pageHome->id_key, $locale)); } $trail->push( $dynamicPageModel->title, RouteHelper::routeNameChecker(sprintf("front.dynamic-pages.%s", $dynamicPageModel->id_key)) ); } ); }); }); // * SEARCH INDEX. Breadcrumbs::for('front.search', function (Generator $trail) use ($pageHome, $currentLocale) { if ($pageHome) { $trail->parent(sprintf("front.dynamic-pages.%s.%s", $pageHome->id_key, $currentLocale)); } $trail->push( Str::of(trans('front.search.trans'))->ucfirst(), route('front.search') ); }); // NEWS SHOW. $pageActualites = DynamicPage::getModelsCached() ->where('status', PageStatusEnum::published) ->where('id_key', 'actualites') ->first(); Breadcrumbs::for('front.news.show', function (Generator $trail) use ($currentLocale, $pageActualites) { if ($pageActualites) { $trail->parent(sprintf("front.dynamic-pages.%s.%s", $pageActualites->id_key, $currentLocale)); } if (request()->news instanceof News) { $trail->push( Str::of(request()->news->title)->ucfirst() ); } }); // * DOCUMENT SHOW. // Need it for the search page. Breadcrumbs::for('front.documents.show', function (Generator $trail) use ($pageHome, $currentLocale) { if ($pageHome) { $trail->parent(sprintf("front.dynamic-pages.%s.%s", $pageHome->id_key, $currentLocale)); } });