diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php new file mode 100644 index 0000000..931454a --- /dev/null +++ b/app/Http/Controllers/PageController.php @@ -0,0 +1,35 @@ +block_search_indexing) { + $content = view('components.robotsTxt.disallowAll'); + } else { + $content = view('components.robotsTxt.default'); + } + return response($content)->header('Content-type', 'text/plain'); + } +} diff --git a/app/Http/Middleware/SetSiteStates.php b/app/Http/Middleware/SetSiteStates.php index 2432bbb..790ca46 100644 --- a/app/Http/Middleware/SetSiteStates.php +++ b/app/Http/Middleware/SetSiteStates.php @@ -47,6 +47,10 @@ class SetSiteStates //預設語系 $siteState->defaultLanguage = config('app.fallback_locale'); + //設定預設的meta tag + $siteState->htmlMeta['description'] = app('Option')->site_description; + $siteState->htmlMeta['og:type'] = 'website'; + return $next($request); } } diff --git a/app/Presenters/DocumentTitlePresenter.php b/app/Presenters/DocumentTitlePresenter.php new file mode 100644 index 0000000..adeec59 --- /dev/null +++ b/app/Presenters/DocumentTitlePresenter.php @@ -0,0 +1,19 @@ +get(); + $titleSection = trim(View::getSection('title')); + if(View::hasSection('title') && $titleSection) { + return $titleSection . ' - ' . $siteName; + } else { + return $siteName; + } + } +} diff --git a/app/Presenters/SiteNamePresenter.php b/app/Presenters/SiteNamePresenter.php new file mode 100644 index 0000000..756ac3a --- /dev/null +++ b/app/Presenters/SiteNamePresenter.php @@ -0,0 +1,32 @@ +siteName = $this->init(); + } + + public function init() + { + $configSiteName = config('app.name', 'Laravel'); + try { + $optionSiteName = app('Option')->getOption('site_name'); + if(!$optionSiteName) { + return $configSiteName; + } + } catch(\Exception $e) { + return $configSiteName; + } + return $optionSiteName; + } + + public function get() + { + return $this->siteName; + } +} diff --git a/app/Providers/SingletonServiceProvider.php b/app/Providers/SingletonServiceProvider.php index 22561dc..09d5d34 100644 --- a/app/Providers/SingletonServiceProvider.php +++ b/app/Providers/SingletonServiceProvider.php @@ -42,7 +42,10 @@ class SingletonServiceProvider extends ServiceProvider return new \App\Presenters\Html\HtmlPresenter; }); - + $this->app->alias(\App\Presenters\SiteNamePresenter::class, 'SiteName'); + $this->app->singleton(\App\Presenters\SiteNamePresenter::class, function($app){ + return new \App\Presenters\SiteNamePresenter; + }); } /** diff --git a/resources/views/admin/index.blade.php b/resources/views/admin/index.blade.php index 7e34fb3..0f02e6f 100644 --- a/resources/views/admin/index.blade.php +++ b/resources/views/admin/index.blade.php @@ -3,7 +3,4 @@ @section('title', 'Admin Area') @section('admin-page-content') -
- {{ print_r(app('AdminMenu')->getMenu()) }}
-
@endsection
diff --git a/resources/views/admin/layouts/app.blade.php b/resources/views/admin/layouts/app.blade.php
index 77255b5..8a8949e 100644
--- a/resources/views/admin/layouts/app.blade.php
+++ b/resources/views/admin/layouts/app.blade.php
@@ -1,6 +1,7 @@
+ @include('components.head.title')
diff --git a/resources/views/admin/menu/options/layout.blade.php b/resources/views/admin/menu/options/layout.blade.php
index 784a22c..a54ded4 100644
--- a/resources/views/admin/menu/options/layout.blade.php
+++ b/resources/views/admin/menu/options/layout.blade.php
@@ -1,4 +1,9 @@
@extends('admin.layouts.app')
+
+@section('title')
+ @lang('adminPageHeader.options.' . $slug)
+@endsection
+
@section('admin-page-content')