From b0350e8ce2424762dc8437c23e5225dd8179806a Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Tue, 2 Jul 2019 12:05:49 +0200 Subject: [PATCH] #2843 --- src/app/Magic/Models/CMSMenu.php | 38 --------------------- src/app/Magic/Models/CMSPage.php | 39 +-------------------- src/app/Template/Navigation.php | 19 +++++++++++ src/app/Template/Redirection.php | 13 +++++++ src/app/Template/TemplateAbstract.php | 25 +++++++++----- src/app/Template/TemplatePage.php | 49 +++++++++++++++++++++++++++ 6 files changed, 98 insertions(+), 85 deletions(-) delete mode 100644 src/app/Magic/Models/CMSMenu.php create mode 100644 src/app/Template/Navigation.php create mode 100644 src/app/Template/Redirection.php create mode 100644 src/app/Template/TemplatePage.php diff --git a/src/app/Magic/Models/CMSMenu.php b/src/app/Magic/Models/CMSMenu.php deleted file mode 100644 index 52de912..0000000 --- a/src/app/Magic/Models/CMSMenu.php +++ /dev/null @@ -1,38 +0,0 @@ - 'menu', - 'singular' => 'élément de menu', - 'plural' => 'éléments de menu']; - - public function setFields() - { - parent::setFields(); - - $this->addField(['name' => 'name', - 'label' => 'Label de la page dans la navigation', - 'type' => 'Text', - 'column' => true] - ); - $this->addField(['name' => 'type', - 'label' => 'Type de page', - 'type' => 'SelectFromArray', - 'options' => ['page_link' => 'Page du site', 'link' => 'Lien externe'], - 'column' => true]); - - $this->addField(['name' => 'page_id', - 'type' => 'SelectFromModel', - 'label' => 'Page du site', - 'optionsmodel' => 'App\Models\Page']); - - $this->addField(['name' => 'link', - 'type' => 'URL', - 'label' => 'Lien externe']); - } -} diff --git a/src/app/Magic/Models/CMSPage.php b/src/app/Magic/Models/CMSPage.php index c1257ef..074c4b2 100644 --- a/src/app/Magic/Models/CMSPage.php +++ b/src/app/Magic/Models/CMSPage.php @@ -6,7 +6,7 @@ namespace Cubist\Backpack\app\Magic\Models; use Cubist\Backpack\app\Magic\Controllers\CubistMagicController; use Cubist\Backpack\app\Template\TemplateAbstract; -class CMSPage extends CubistMagicModel +class CMSPage extends CubistMagicNestedModel { protected static $_templates = []; @@ -57,43 +57,6 @@ class CMSPage extends CubistMagicModel 'translatable' => true, 'tab' => 'Informations principales', ]); - $this->_seo(); - } - - protected function _seo() - { - $this->addField(['name' => 'slug', - 'type' => 'Slug', - 'label' => 'Slug (URL)', - 'tab' => 'SEO // Meta', - ]); - - $this->addFakeField([ - 'name' => 'meta_title', - 'label' => trans('backpack::pagemanager.meta_title'), - 'type' => 'Text', - 'hint' => trans('If empty, page title is used.') . ' ' . __('Recommended length: 60 chars'), - 'tab' => 'SEO // Meta', - 'store_in' => 'seo', - ]); - - $this->addFakeField([ - 'name' => 'meta_description', - 'label' => trans('backpack::pagemanager.meta_description'), - 'type' => 'Textarea', - 'hint' => __('Recommended length: 160 chars'), - 'tab' => 'SEO // Meta', - 'store_in' => 'seo', - ]); - - $this->addFakeField([ - 'name' => 'robots', - 'label' => __('Allow page index by search engines'), - 'type' => 'Checkbox', - 'default' => true, - 'tab' => 'SEO // Meta', - 'store_in' => 'seo', - ]); } /** diff --git a/src/app/Template/Navigation.php b/src/app/Template/Navigation.php new file mode 100644 index 0000000..7a911f7 --- /dev/null +++ b/src/app/Template/Navigation.php @@ -0,0 +1,19 @@ +addField(['name' => 'navigation', + 'type' => 'Text', + 'label' => 'Partie du site', + 'store_in' => 'nav', + 'translatable' => false] + ); + } +} diff --git a/src/app/Template/Redirection.php b/src/app/Template/Redirection.php new file mode 100644 index 0000000..f4240ae --- /dev/null +++ b/src/app/Template/Redirection.php @@ -0,0 +1,13 @@ +_seo(); + } + + protected function _seo() + { + $this->addField(['name' => 'slug', + 'type' => 'Slug', + 'label' => 'Slug (URL)', + 'tab' => 'SEO // Meta', + ]); + + $this->addField([ + 'name' => 'meta_title', + 'label' => trans('backpack::pagemanager.meta_title'), + 'type' => 'Text', + 'hint' => trans('If empty, page title is used.') . ' ' . __('Recommended length: 60 chars'), + 'tab' => 'SEO // Meta', + 'store_in' => 'seo', + ]); + + $this->addField([ + 'name' => 'meta_description', + 'label' => trans('backpack::pagemanager.meta_description'), + 'type' => 'Textarea', + 'hint' => __('Recommended length: 160 chars'), + 'tab' => 'SEO // Meta', + 'store_in' => 'seo', + ]); + + $this->addField([ + 'name' => 'robots', + 'label' => __('Allow page index by search engines'), + 'type' => 'Checkbox', + 'default' => true, + 'tab' => 'SEO // Meta', + 'store_in' => 'seo', + ]); + } +} -- 2.39.5