diff --git a/Modules/Page/Http/Controllers/PublicController.php b/Modules/Page/Http/Controllers/PublicController.php index 7c23ef337..88a958b1c 100644 --- a/Modules/Page/Http/Controllers/PublicController.php +++ b/Modules/Page/Http/Controllers/PublicController.php @@ -46,7 +46,9 @@ public function uri($slug) $template = $this->getTemplateForPage($page); - return view($template, compact('page')); + $alternate = $this->getAlternateMetaData($page); + + return view($template, compact('page', 'alternate')); } /** @@ -60,7 +62,9 @@ public function homepage() $template = $this->getTemplateForPage($page); - return view($template, compact('page')); + $alternate = $this->getAlternateMetaData($page); + + return view($template, compact('page', 'alternate')); } /** @@ -101,4 +105,23 @@ private function throw404IfNotFound($page) $this->app->abort('404'); } } + + /** + * Create a key=>value array for alternate links + * + * @param $page + * + * @return array + */ + private function getAlternateMetaData($page) + { + $translations = $page->getTranslationsArray(); + + $alternate = []; + foreach ($translations as $locale => $data) { + $alternate[$locale] = $data['slug']; + } + + return $alternate; + } } diff --git a/Themes/Flatly/views/layouts/master.blade.php b/Themes/Flatly/views/layouts/master.blade.php index 844544e6e..ab5030f9d 100644 --- a/Themes/Flatly/views/layouts/master.blade.php +++ b/Themes/Flatly/views/layouts/master.blade.php @@ -3,12 +3,14 @@ @section('meta') - + @show - - @section('title')@setting('core::site-name')@show - + @section('title')@setting('core::site-name')@show + @foreach($alternate as $alternateLocale=>$alternateSlug) + + @endforeach + {!! Theme::style('css/main.css') !!} @@ -30,7 +32,7 @@ @yield('scripts') - {!! Setting::get('core::analytics-script') !!} +{!! Setting::get('core::analytics-script') !!} @stack('js-stack')