From f5dc81f3887996718dd8c6200b69c40e12ca85fc Mon Sep 17 00:00:00 2001 From: Cedric Ziel Date: Thu, 14 Jun 2018 16:31:02 +0200 Subject: [PATCH] Add dedicated single page for team plugin --- .../Classes/Controller/TeamController.php | 23 +++++++++++++++++++ .../Classes/Domain/Model/Teammember.php | 2 +- .../FlexForms/flexform_teammembers.xml | 22 ++++++++++++++++++ .../ext/ep_theme/Classes/Hook/Tcemain.php | 1 - .../Templates/FluidStyledContent/List.html | 7 ------ .../Private/Templates/Team/List.html | 1 + .../Private/Templates/Team/Show.html | 15 ++++++++++++ web/typo3conf/realurl_conf.php | 1 + 8 files changed, 63 insertions(+), 9 deletions(-) diff --git a/web/typo3conf/ext/ep_products/Classes/Controller/TeamController.php b/web/typo3conf/ext/ep_products/Classes/Controller/TeamController.php index 7abe54ef..a272d490 100644 --- a/web/typo3conf/ext/ep_products/Classes/Controller/TeamController.php +++ b/web/typo3conf/ext/ep_products/Classes/Controller/TeamController.php @@ -70,6 +70,29 @@ class TeamController extends ActionController if ($member === null) { $this->redirect('list'); } + $this->view->assign('member', $member); + $this->view->assign('data', $this->configurationManager->getContentObject()->data); + $this->view->assign('header', $this->coalesceHeader($member)); + } + + /** + * @param Teammember $member + * + * @return string + */ + public function coalesceHeader(Teammember $member) + { + $data = $this->configurationManager->getContentObject()->data; + if (isset($data['header']) && $data['header'] !== '') { + return $data['header']; + } + + $firstCategory = current($member->getCategories()->toArray()); + if ($firstCategory !== null) { + return $firstCategory->getTitle(); + } + + return ''; } } diff --git a/web/typo3conf/ext/ep_products/Classes/Domain/Model/Teammember.php b/web/typo3conf/ext/ep_products/Classes/Domain/Model/Teammember.php index a3f0ebf5..d7d1fffe 100644 --- a/web/typo3conf/ext/ep_products/Classes/Domain/Model/Teammember.php +++ b/web/typo3conf/ext/ep_products/Classes/Domain/Model/Teammember.php @@ -169,7 +169,7 @@ class Teammember extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity } /** - * @return ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category> + * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\TYPO3\CMS\Extbase\Domain\Model\Category> */ public function getCategories() { diff --git a/web/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_teammembers.xml b/web/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_teammembers.xml index 1e235dfa..cd686559 100644 --- a/web/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_teammembers.xml +++ b/web/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_teammembers.xml @@ -10,6 +10,28 @@ array + + + 0 + + + input + 20 + required + + + + + + 0 + + + input + 20 + required + + + 0 diff --git a/web/typo3conf/ext/ep_theme/Classes/Hook/Tcemain.php b/web/typo3conf/ext/ep_theme/Classes/Hook/Tcemain.php index 051ad035..2262f6c7 100644 --- a/web/typo3conf/ext/ep_theme/Classes/Hook/Tcemain.php +++ b/web/typo3conf/ext/ep_theme/Classes/Hook/Tcemain.php @@ -35,7 +35,6 @@ class Tcemain /** * @param array $fields * @param string $table - * @param string $table * @param int $id * @param DataHandler $dataHandler */ diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Templates/FluidStyledContent/List.html b/web/typo3conf/ext/ep_theme/Resources/Private/Templates/FluidStyledContent/List.html index 2d84bebe..e2268de1 100644 --- a/web/typo3conf/ext/ep_theme/Resources/Private/Templates/FluidStyledContent/List.html +++ b/web/typo3conf/ext/ep_theme/Resources/Private/Templates/FluidStyledContent/List.html @@ -94,13 +94,6 @@ - Teammembers Plugin - - - - - - Default diff --git a/web/typo3conf/ext/ep_theme/Resources/Private/Templates/Team/List.html b/web/typo3conf/ext/ep_theme/Resources/Private/Templates/Team/List.html index dd27d656..697b6c65 100644 --- a/web/typo3conf/ext/ep_theme/Resources/Private/Templates/Team/List.html +++ b/web/typo3conf/ext/ep_theme/Resources/Private/Templates/Team/List.html @@ -21,6 +21,7 @@