diff --git a/Classes/Domain/Model/PluginConfiguration.php b/Classes/Domain/Model/PluginConfiguration.php index d06b17f7..e44b3d31 100644 --- a/Classes/Domain/Model/PluginConfiguration.php +++ b/Classes/Domain/Model/PluginConfiguration.php @@ -84,6 +84,14 @@ class PluginConfiguration extends AbstractModel */ protected $yearPid; + /** + * Quarter PID. + * + * @var int + * @DatabaseField("int") + */ + protected $quarterPid; + /** * Month PID. * @@ -271,6 +279,26 @@ public function setYearPid($yearPid) $this->yearPid = $yearPid; } + /** + * Get quarter PID. + * + * @return int + */ + public function getQuarterPid(): int + { + return $this->quarterPid; + } + + /** + * Set quarter PID. + * + * @param int $quarterPid + */ + public function setQuarterPid(int $quarterPid): void + { + $this->quarterPid = $quarterPid; + } + /** * Get month PID. * diff --git a/Classes/Service/PluginConfigurationService.php b/Classes/Service/PluginConfigurationService.php index c19fbcae..a7f4089e 100644 --- a/Classes/Service/PluginConfigurationService.php +++ b/Classes/Service/PluginConfigurationService.php @@ -46,6 +46,7 @@ public function respectPluginConfiguration(array $settings) 'detailPid', 'listPid', 'yearPid', + 'quarterPid', 'monthPid', 'weekPid', 'dayPid', diff --git a/Configuration/TCA/tx_calendarize_domain_model_pluginconfiguration.php b/Configuration/TCA/tx_calendarize_domain_model_pluginconfiguration.php index e633ec9a..d253094c 100644 --- a/Configuration/TCA/tx_calendarize_domain_model_pluginconfiguration.php +++ b/Configuration/TCA/tx_calendarize_domain_model_pluginconfiguration.php @@ -77,6 +77,7 @@ 'detail_pid' => $defaultPidConfiguration, 'list_pid' => $defaultPidConfiguration, 'year_pid' => $defaultPidConfiguration, + 'quarter_pid' => $defaultPidConfiguration, 'month_pid' => $defaultPidConfiguration, 'week_pid' => $defaultPidConfiguration, 'day_pid' => $defaultPidConfiguration, diff --git a/Configuration/Yaml/RouteEnhancers.yaml b/Configuration/Yaml/RouteEnhancers.yaml index b7582bef..ee90d8e7 100644 --- a/Configuration/Yaml/RouteEnhancers.yaml +++ b/Configuration/Yaml/RouteEnhancers.yaml @@ -11,7 +11,7 @@ routeEnhancers: _controller: 'Calendar::detail' - routePath: '/{calendarize_year_label}/{year}' _controller: 'Calendar::year' - - routePath: '/{calendarize_quarter_label}/{quarter}' + - routePath: '/{calendarize_quarter_label}/{year}/{quarter}' _controller: 'Calendar::quarter' - routePath: '/{calendarize_month_label}/{year}/{month}' _controller: 'Calendar::month' diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf index 7697b8e4..84a45f33 100644 --- a/Resources/Private/Language/locallang.xlf +++ b/Resources/Private/Language/locallang.xlf @@ -126,6 +126,9 @@ <trans-unit id="tx_calendarize_domain_model_pluginconfiguration.year_pid"> <source>Year PID</source> </trans-unit> + <trans-unit id="tx_calendarize_domain_model_pluginconfiguration.quarter_pid"> + <source>Quarter PID</source> + </trans-unit> <trans-unit id="tx_calendarize_domain_model_pluginconfiguration.list_pid"> <source>List PID</source> </trans-unit> diff --git a/Resources/Private/Templates/Calendar/Quarter.html b/Resources/Private/Templates/Calendar/Quarter.html index 417a1a44..6abfc49a 100644 --- a/Resources/Private/Templates/Calendar/Quarter.html +++ b/Resources/Private/Templates/Calendar/Quarter.html @@ -9,7 +9,7 @@ <f:if condition="{settings.quarterPid}"> <f:if condition="{c:ifDateUpper(base: settings.dateLimitBrowserPrev, check:{date -> c:dateTime.modify(modification: '-1 months')})}"> - <c:link.quarter pageUid="{settings.monthPid}" date="{date -> c:dateTime.modify(modification: '-1 months')}"> + <c:link.quarter pageUid="{settings.quarterPid}" date="{date -> c:dateTime.modify(modification: '-1 months')}"> < </c:link.quarter> </f:if> @@ -17,7 +17,7 @@ Q{quarter} <f:format.date format="%Y">{date}</f:format.date> <f:if condition="{settings.quarterPid}"> <f:if condition="{c:ifDateLower(base: settings.dateLimitBrowserNext, check:{date -> c:dateTime.modify(modification: '+4 months')})}"> - <c:link.quarter pageUid="{settings.monthPid}" date="{date -> c:dateTime.modify(modification: '+4 months')}"> + <c:link.quarter pageUid="{settings.quarterPid}" date="{date -> c:dateTime.modify(modification: '+4 months')}"> > </c:link.quarter> </f:if>