diff --git a/Classes/Extension.php b/Classes/Extension.php
index 42f2c885..426b12f7 100644
--- a/Classes/Extension.php
+++ b/Classes/Extension.php
@@ -47,7 +47,6 @@ public static function getLanguagePath(): string
public static function registerExtLocalconfConfigConfig(): void
{
self::addCaching();
- self::addContentElements();
self::addPageTypesExtLocalconf();
}
@@ -61,31 +60,6 @@ public static function getIconPath(): string
return 'EXT:' . self::EXTENSION_KEY . '/Resources/Public/Icons/';
}
- private static function addContentElements(): void
- {
- $languagePath = self::getLanguagePath() . 'locallang_tca.xlf:tt_content';
-
- // TODO: typo3/cms-core:14.0 Remove this code block as CEs are auto registered.
- if (version_compare(GeneralUtility::makeInstance(Typo3Version::class)->__toString(), '13.0', '<')) {
- ExtensionManagementUtility::addPageTSConfig('
- mod.wizards.newContentElement.wizardItems.thuecat {
- header = ' . $languagePath . '.group
- show = *
- elements {
- thuecat_tourist_attraction{
- title = ' . $languagePath . '.thuecat_tourist_attraction
- description = ' . $languagePath . '.thuecat_tourist_attraction.description
- iconIdentifier = tt_content_thuecat_tourist_attraction
- tt_content_defValues {
- CType = thuecat_tourist_attraction
- }
- }
- }
- }
- ');
- }
- }
-
private static function addPageTypesExtTables(): void
{
$registry = GeneralUtility::makeInstance(PageDoktypeRegistry::class);
diff --git a/Configuration/TCA/Overrides/sys_template.php b/Configuration/TCA/Overrides/sys_template.php
index 9f6c0c77..4f9cfb25 100644
--- a/Configuration/TCA/Overrides/sys_template.php
+++ b/Configuration/TCA/Overrides/sys_template.php
@@ -8,11 +8,6 @@
defined('TYPO3') or die();
(static function (string $extensionKey, string $tableName) {
- ExtensionManagementUtility::addStaticFile(
- $extensionKey,
- 'Configuration/TypoScript/ContentElements',
- 'ThüCAT - Content Elements'
- );
ExtensionManagementUtility::addStaticFile(
$extensionKey,
'Configuration/TypoScript/PageTypes',
diff --git a/Configuration/TCA/Overrides/tt_content.php b/Configuration/TCA/Overrides/tt_content.php
deleted file mode 100644
index 19374c65..00000000
--- a/Configuration/TCA/Overrides/tt_content.php
+++ /dev/null
@@ -1,23 +0,0 @@
- [
- 'typeicon_classes' => [
- $cType => 'tt_content_' . $cType,
- ],
- ],
- 'types' => [
- $cType => [
- 'showitem' => '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,'
- . '--palette--;;general,'
- . '--palette--;;headers,'
- . 'records,'
- . '--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,'
- . '--palette--;;frames,'
- . '--palette--;;appearanceLinks,'
- . '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,'
- . '--palette--;;language,'
- . '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,'
- . '--palette--;;hidden,'
- . '--palette--;;access,'
- . '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,'
- . '--div--;LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:sys_category.tabs.category,'
- . 'categories,'
- . '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,'
- . 'rowDescription,'
- . '--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended',
- 'columnsOverrides' => [
- 'records' => [
- 'config' => [
- 'allowed' => 'tx_thuecat_tourist_attraction',
- 'suggestOptions' => [
- 'tx_thuecat_tourist_attraction' => [
- 'addWhere' => 'sys_language_uid in (0,-1)',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ]);
-
- ExtensionManagementUtility::addTcaSelectItem(
- $tableName,
- 'CType',
- [
- 'label' => $languagePath,
- 'value' => $cType,
- 'icon' => 'tt_content_' . $cType,
- 'group' => Extension::TCA_SELECT_GROUP_IDENTIFIER,
- ]
- );
-})(
- Extension::EXTENSION_KEY,
- 'tt_content',
- 'thuecat_tourist_attraction'
-);
diff --git a/Configuration/TypoScript/ContentElements/Rendering/TouristAttraction.typoscript b/Configuration/TypoScript/ContentElements/Rendering/TouristAttraction.typoscript
deleted file mode 100644
index 67be9f92..00000000
--- a/Configuration/TypoScript/ContentElements/Rendering/TouristAttraction.typoscript
+++ /dev/null
@@ -1,13 +0,0 @@
-tt_content {
- thuecat_tourist_attraction =< lib.thuecatContentElement
- thuecat_tourist_attraction {
- templateName = TouristAttraction
- dataProcessing {
- 10 = WerkraumMedia\ThueCat\Frontend\DataProcessing\ResolveEntities
- 10 {
- table = tx_thuecat_tourist_attraction
- uids.data = field:records
- }
- }
- }
-}
diff --git a/Configuration/TypoScript/ContentElements/Rendering/_base.typoscript b/Configuration/TypoScript/ContentElements/Rendering/_base.typoscript
deleted file mode 100644
index 97108d65..00000000
--- a/Configuration/TypoScript/ContentElements/Rendering/_base.typoscript
+++ /dev/null
@@ -1,9 +0,0 @@
-lib.thuecatContentElement =< lib.contentElement
-lib.thuecatContentElement {
- partialRootPaths {
- 0 = EXT:thuecat/Resources/Private/Partials/Frontend/ContentElement/
- }
- templateRootPaths {
- 0 = EXT:thuecat/Resources/Private/Templates/Frontend/ContentElement/
- }
-}
diff --git a/Configuration/TypoScript/ContentElements/setup.typoscript b/Configuration/TypoScript/ContentElements/setup.typoscript
deleted file mode 100644
index 3c8b4e50..00000000
--- a/Configuration/TypoScript/ContentElements/setup.typoscript
+++ /dev/null
@@ -1 +0,0 @@
-@import 'EXT:thuecat/Configuration/TypoScript/ContentElements/Rendering/*.typoscript'
diff --git a/Documentation/Changelog/3.1.0.rst b/Documentation/Changelog/4.0.0.rst
similarity index 51%
rename from Documentation/Changelog/3.1.0.rst
rename to Documentation/Changelog/4.0.0.rst
index b8ae2afd..1e9449aa 100644
--- a/Documentation/Changelog/3.1.0.rst
+++ b/Documentation/Changelog/4.0.0.rst
@@ -1,10 +1,13 @@
-3.1.0
+4.0.0
=====
Breaking
--------
-Nothing
+* Removed content element.
+
+ No Content element is provided any longer.
+ We recommend to build your own tailored content elements instead.
Features
--------
diff --git a/Resources/Private/Language/locallang_tca.xlf b/Resources/Private/Language/locallang_tca.xlf
index 8a9bca37..0621fc64 100644
--- a/Resources/Private/Language/locallang_tca.xlf
+++ b/Resources/Private/Language/locallang_tca.xlf
@@ -308,16 +308,6 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/Private/Templates/Frontend/ContentElement/TouristAttraction.html b/Resources/Private/Templates/Frontend/ContentElement/TouristAttraction.html
deleted file mode 100644
index b75f2feb..00000000
--- a/Resources/Private/Templates/Frontend/ContentElement/TouristAttraction.html
+++ /dev/null
@@ -1,165 +0,0 @@
-
-
-
-
-
- {entity.slogan}
-
{entity.title} ({entity.town.title})
- {entity.description -> f:format.html()}
-
-
-
-
-
- ⓒ {entity.media.mainImage.author}
-
-
-
-
-
-
-
-
-
-
- {f:translate(id: 'content.address', extensionName: 'Thuecat')}
- {f:render(partial: 'Address', arguments: {address: entity.address, url: entity.url})}
-
-
-
-
-
{f:translate(id: 'content.distanceToPublicTransport', extensionName: 'Thuecat')}
-
- {entity.distanceToPublicTransport.value} {f:translate(id: 'content.unit.{entity.distanceToPublicTransport.unit}', default: entity.distanceToPublicTransport.unit, extensionName: 'Thuecat')}
-
-
-
-
-
-
-
- {f:translate(id: 'content.parkingFacilitiesNearBy', extensionName: 'Thuecat')}
- {f:render(partial: 'Parking', arguments: {parkingFacilitiesNearBy: entity.parkingFacilitiesNearBy})}
-
-
-
-
-
-
-
- {f:translate(id: 'content.address', extensionName: 'Thuecat')}
- {f:render(partial: 'Address', arguments: {address: entity.address, url: entity.url})}
-
-
-
-
-
- {f:translate(id: 'content.distanceToPublicTransport', extensionName: 'Thuecat')}
-
- {entity.distanceToPublicTransport.value} {f:translate(id: 'content.unit.{entity.distanceToPublicTransport.unit}', default: entity.distanceToPublicTransport.unit, extensionName: 'Thuecat')}
-
-
-
-
-
-
- {f:translate(id: 'content.parkingFacilitiesNearBy', extensionName: 'Thuecat')}
- {f:render(partial: 'Parking', arguments: {parkingFacilitiesNearBy: entity.parkingFacilitiesNearBy})}
-
-
-
-
-
-
-
-
-
{f:translate(id: 'content.generalInformation', extensionName: 'Thuecat')}
-
-
- {f:render(partial: 'Service', arguments: {otherServices: entity.otherServices})}
-
- {f:translate(id: 'content.petsAllowed.{entity.petsAllowed}', default: entity.petsAllowed, extensionName: 'Thuecat')}
- {f:translate(id: 'content.isAccessibleForFree.{entity.isAccessibleForFree}', default: entity.isAccessibleForFree, extensionName: 'Thuecat')}
- {f:translate(id: 'content.publicAccess.{entity.publicAccess}', default: entity.publicAccess, extensionName: 'Thuecat')}
- {f:translate(id: 'content.accessibilitySpecification.certificationStatus.{entity.accessibilitySpecification.certificationStatus}', default: entity.accessibilitySpecification.certificationStatus, extensionName: 'Thuecat')}
-
-
- {f:translate(id: 'content.museum', extensionName: 'Thuecat')}
- {f:render(partial: 'Museum', arguments: {museumServices: entity.museumServices})}
-
-
- {f:translate(id: 'content.digital', extensionName: 'Thuecat')}
- {f:render(partial: 'Digital', arguments: {digitalOffer: entity.digitalOffer})}
-
-
- {f:translate(id: 'content.traffic', extensionName: 'Thuecat')}
- {f:render(partial: 'Traffic', arguments: {trafficInfrastructures: entity.trafficInfrastructures})}
-
-
- {f:translate(id: 'content.payment', extensionName: 'Thuecat')}
- {f:render(partial: 'Payment', arguments: {paymentAccepted: entity.paymentAccepted})}
-
-
- {f:translate(id: 'content.languages', extensionName: 'Thuecat')}
- {f:render(partial: 'Payment', arguments: {availableLanguages: entity.availableLanguages})}
-
-
- {f:translate(id: 'content.sanitation', extensionName: 'Thuecat')}
- sanitation
- {f:render(partial: 'Sanitation', arguments: {sanitation: entity.sanitation})}
-
-
- {f:translate(id: 'content.photography', extensionName: 'Thuecat')}
- {f:render(partial: 'Photography', arguments: {photography: entity.photography})}
-
-
- {f:translate(id: 'content.construction', extensionName: 'Thuecat')}
-
- {entity.startOfConstruction}
-
-
-
- {f:translate(id: 'content.architecture', extensionName: 'Thuecat')}
-
-
- {f:translate(id: 'content.architecturalStyle.{style}', default: style, extensionName: 'Thuecat')}
-
-
-
-
-
-
-
-
{f:translate(id: 'content.openingHours', extensionName: 'Thuecat')}
- {f:render(partial: 'Opening', arguments: {openingHours: entity.openingHours})}
-
-
-
-
-
{f:translate(id: 'content.specialOpeningHours', extensionName: 'Thuecat')}
- {f:render(partial: 'Opening', arguments: {openingHours: entity.specialOpeningHours})}
-
-
-
-
-
-
-
-
{f:translate(id: 'content.offers', extensionName: 'Thuecat')}
- {f:render(partial: 'Offers', arguments: {offers: entity.offers, uid: entity.uid})}
-
-
-
-
-
{f:translate(id: 'content.accessibility', extensionName: 'Thuecat')}
- {f:render(partial: 'Accessibility', arguments: {specification: entity.accessibilitySpecification, uid: entity.uid})}
-
-
-
-
-
-
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Accessibility.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Accessibility.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Accessibility.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Accessibility.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Address.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Address.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Address.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Address.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Digital.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Digital.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Digital.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Digital.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Languages.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Languages.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Languages.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Languages.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Museum.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Museum.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Museum.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Museum.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Offers.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Offers.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Offers.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Offers.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Opening.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Opening.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Opening.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Opening.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Parking.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Parking.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Parking.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Parking.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Payment.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Payment.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Payment.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Payment.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Photography.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Photography.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Photography.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Photography.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Sanitation.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Sanitation.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Sanitation.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Sanitation.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Service.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Service.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Service.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Service.html
diff --git a/Resources/Private/Partials/Frontend/ContentElement/Traffic.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Traffic.html
similarity index 100%
rename from Resources/Private/Partials/Frontend/ContentElement/Traffic.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Partials/ContentElement/Traffic.html
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Templates/ContentElement/TouristAttraction.html b/Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Templates/ContentElement/TouristAttraction.html
similarity index 100%
rename from Tests/Functional/Fixtures/Frontend/Resources/Private/Templates/ContentElement/TouristAttraction.html
rename to Tests/Functional/Fixtures/Frontend/Extensions/example/Resources/Private/Templates/ContentElement/TouristAttraction.html
diff --git a/Tests/Functional/Fixtures/Frontend/Extensions/example/composer.json b/Tests/Functional/Fixtures/Frontend/Extensions/example/composer.json
new file mode 100644
index 00000000..2d126fb5
--- /dev/null
+++ b/Tests/Functional/Fixtures/Frontend/Extensions/example/composer.json
@@ -0,0 +1,28 @@
+{
+ "name": "werkraummedia/example",
+ "description": "Example extension for functional tests",
+ "type": "typo3-cms-extension",
+ "license": "GPL-2.0-or-later",
+ "homepage": "https://github.com/werkraum-media/thuecat",
+ "authors": [
+ {
+ "name": "Daniel Siepmann",
+ "email": "coding@daniel-siepmann.de",
+ "homepage": "https://daniel-siepmann.de/",
+ "role": "Developer"
+ }
+ ],
+ "autoload": {
+ "psr-4": {
+ "WerkraumMedia\\Example\\": "Classes/"
+ }
+ },
+ "require": {
+ "werkraummedia/thuecat": "*"
+ },
+ "extra": {
+ "typo3/cms": {
+ "extension-key": "example"
+ }
+ }
+}
diff --git a/Tests/Functional/Fixtures/Frontend/Rendering.typoscript b/Tests/Functional/Fixtures/Frontend/Rendering.typoscript
index 7ab01863..ef6526b3 100644
--- a/Tests/Functional/Fixtures/Frontend/Rendering.typoscript
+++ b/Tests/Functional/Fixtures/Frontend/Rendering.typoscript
@@ -1,11 +1,23 @@
page = PAGE
page.10 < styles.content.get
-lib.thuecatContentElement {
+tt_content.thuecat_tourist_attraction =< lib.contentElement
+tt_content.thuecat_tourist_attraction {
+ templateName = TouristAttraction
+ dataProcessing {
+ 10 = WerkraumMedia\ThueCat\Frontend\DataProcessing\ResolveEntities
+ 10 {
+ table = tx_thuecat_tourist_attraction
+ uids.data = field:records
+ }
+ }
+}
+
+lib.contentElement {
partialRootPaths {
- 0 = EXT:thuecat/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/
+ 10 = EXT:example/Resources/Private/Partials/ContentElement/
}
templateRootPaths {
- 0 = EXT:thuecat/Tests/Functional/Fixtures/Frontend/Resources/Private/Templates/ContentElement/
+ 10 = EXT:example/Resources/Private/Templates/ContentElement/
}
}
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Accessibility.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Accessibility.html
deleted file mode 100644
index f7f294f5..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Accessibility.html
+++ /dev/null
@@ -1,136 +0,0 @@
-
-
-
-
-
-
-
-
- - {f:translate(id: 'content.accessibilitySpecification.searchCriteria.criteria.{criteria}', default: criteria, extensionName: 'Thuecat')}
-
-
-
-
-
-
-
-
- - {f:translate(id: 'content.accessibilitySpecification.certification.{specification.certificationDeaf}', default: specification.certificationDeaf, extensionName: 'Thuecat')} {f:translate(id: 'content.accessibilitySpecification.certification.deaf', extensionName: 'Thuecat')}
-
-
- - {f:translate(id: 'content.accessibilitySpecification.certification.{specification.certificationMental}', default: specification.certificationMental, extensionName: 'Thuecat')} {f:translate(id: 'content.accessibilitySpecification.certification.mental', extensionName: 'Thuecat')}
-
-
- - {f:translate(id: 'content.accessibilitySpecification.certification.{specification.certificationPartiallyDeaf}', default: specification.certificationPartiallyDeaf, extensionName: 'Thuecat')} {f:translate(id: 'content.accessibilitySpecification.certification.partiallyDeaf', extensionName: 'Thuecat')}
-
-
- - {f:translate(id: 'content.accessibilitySpecification.certification.{specification.certificationPartiallyVisual}', default: specification.certificationPartiallyVisual, extensionName: 'Thuecat')} {f:translate(id: 'content.accessibilitySpecification.certification.partiallyVisual', extensionName: 'Thuecat')}
-
-
- - {f:translate(id: 'content.accessibilitySpecification.certification.{specification.certificationVisual}', default: specification.certificationVisual, extensionName: 'Thuecat')} {f:translate(id: 'content.accessibilitySpecification.certification.visual', extensionName: 'Thuecat')}
-
-
- - {f:translate(id: 'content.accessibilitySpecification.certification.{specification.certificationWalking}', default: specification.certificationWalking, extensionName: 'Thuecat')} {f:translate(id: 'content.accessibilitySpecification.certification.walking', extensionName: 'Thuecat')}
-
-
- - {f:translate(id: 'content.accessibilitySpecification.certification.{specification.certificationWheelchair}', default: specification.certificationWheelchair, extensionName: 'Thuecat')} {f:translate(id: 'content.accessibilitySpecification.certification.wheelchair', extensionName: 'Thuecat')}
-
-
-
-
-
-
-
-
-
-
-
-
-
{specification.shortDescriptionAllGenerations -> f:format.nl2br()}
-
-
-
-
-
-
-
-
-
-
-
{specification.shortDescriptionAllergic -> f:format.nl2br()}
-
-
-
-
-
-
-
-
-
-
-
{specification.shortDescriptionDeaf -> f:format.nl2br()}
-
-
-
-
-
-
-
-
-
-
-
{specification.shortDescriptionMental -> f:format.nl2br()}
-
-
-
-
-
-
-
-
-
-
-
{specification.shortDescriptionVisual -> f:format.nl2br()}
-
-
-
-
-
-
-
-
-
-
-
{specification.shortDescriptionWalking -> f:format.nl2br()}
-
-
-
-
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Address.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Address.html
deleted file mode 100644
index 2c726b82..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Address.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Digital.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Digital.html
deleted file mode 100644
index 33df9854..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Digital.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- {f:translate(id: 'content.digitalOffer.{offer}', default: offer, extensionName: 'Thuecat')}
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Languages.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Languages.html
deleted file mode 100644
index 8c47cd42..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Languages.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- {f:translate(id: 'content.availableLanguage.{language}', default: language, extensionName: 'Thuecat')}
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Museum.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Museum.html
deleted file mode 100644
index 61f79d0c..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Museum.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- {f:translate(id: 'content.museumService.{service}', default: service, extensionName: 'Thuecat')}
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Offers.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Offers.html
deleted file mode 100644
index 445ba6b7..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Offers.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{price.title}
-
{price.price -> f:format.currency(decimalSeparator: ',', thousandsSeparator: '.', decimals: 2, currencySign: price.currency)}
-
{f:translate(id: 'content.price.rule.{price.rules.0}', default: price.rule, extensionName: 'Thuecat')}
-
- {price.description}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{offer.title} ({f:translate(id: 'content.price.type.{offer.type}', default: offer.type, extensionName: 'Thuecat')})
-
-
-
-
-
-
-
-
-
{price.title}
-
{price.price -> f:format.currency(decimalSeparator: ',', thousandsSeparator: '.', decimals: 2, currencySign: price.currency)}
-
{f:translate(id: 'content.price.rule.{price.rules.0}', default: price.rule, extensionName: 'Thuecat')}
-
- {price.description}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Opening.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Opening.html
deleted file mode 100644
index 469dcdba..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Opening.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {openingHour.from -> f:format.date(format: 'd.m.Y')} -
- {openingHour.through -> f:format.date(format: 'd.m.Y')}
-
-
-
-
-
{f:translate(id: 'content.openingHour.weekday.{weekday}', default: weekday, extensionName: 'Thuecat')}
-
{openingHour.opens} - {openingHour.closes}
-
-
-
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Parking.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Parking.html
deleted file mode 100644
index 6a2802ab..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Parking.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
- {parkingFacility.title}
- {f:render(partial: 'Address', arguments: {address: parkingFacility.address})}
-
-
-
-
-
-
- {parkingFacility.title}
- {f:render(partial: 'Address', arguments: {address: parkingFacility.address})}
-
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Payment.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Payment.html
deleted file mode 100644
index 9a7589f6..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Payment.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- {f:translate(id: 'content.paymentAccepted.{payment}', default: payment, extensionName: 'Thuecat')}
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Photography.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Photography.html
deleted file mode 100644
index b76f9873..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Photography.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- {f:translate(id: 'content.photography.{photography}', default: photography, extensionName: 'Thuecat')}
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Sanitation.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Sanitation.html
deleted file mode 100644
index 49167b3e..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Sanitation.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- {f:translate(id: 'content.sanitation.{sanitation}', default: sanitation, extensionName: 'Thuecat')}
-
-
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Service.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Service.html
deleted file mode 100644
index 8ac667a0..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Service.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
- {f:translate(id: 'content.otherService.{service}', default: service, extensionName: 'Thuecat')}
-
-
diff --git a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Traffic.html b/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Traffic.html
deleted file mode 100644
index 0939e886..00000000
--- a/Tests/Functional/Fixtures/Frontend/Resources/Private/Partials/ContentElement/Traffic.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
- {f:translate(id: 'content.trafficInfrastructure.{trafficInfrastructure}', default: trafficInfrastructure, extensionName: 'Thuecat')}
-
-
-
-
diff --git a/Tests/Functional/FrontendTest.php b/Tests/Functional/FrontendTest.php
index 3fa3cd59..230f21c1 100644
--- a/Tests/Functional/FrontendTest.php
+++ b/Tests/Functional/FrontendTest.php
@@ -42,6 +42,7 @@ protected function setUp(): void
$this->testExtensionsToLoad = [
'werkraummedia/thuecat',
+ 'typo3conf/ext/thuecat/Tests/Functional/Fixtures/Frontend/Extensions/example/',
];
$this->pathsToLinkInTestInstance = [
diff --git a/composer.json b/composer.json
index 0185bfce..5deac948 100644
--- a/composer.json
+++ b/composer.json
@@ -74,6 +74,12 @@
"phpstan/extension-installer": true
}
},
+ "scripts": {
+ "post-autoload-dump": [
+ "mkdir -p .Build/web/typo3conf/ext/",
+ "[ -L .Build/web/typo3conf/ext/thuecat ] || ln -snvf ../../../../. .Build/web/typo3conf/ext/thuecat"
+ ]
+ },
"extra": {
"typo3/cms": {
"cms-package-dir": "{$vendor-dir}/typo3/cms",
diff --git a/ext_emconf.php b/ext_emconf.php
index fd4bc2f6..5e1dbc51 100644
--- a/ext_emconf.php
+++ b/ext_emconf.php
@@ -10,7 +10,7 @@
'author' => 'Daniel Siepmann',
'author_email' => 'coding@daniel-siepmann.de',
'author_company' => '',
- 'version' => '3.1.0',
+ 'version' => '4.0.0',
'constraints' => [
'depends' => [
'core' => '',
diff --git a/ext_tables.php b/ext_tables.php
index 3808ffd2..1bc835e0 100644
--- a/ext_tables.php
+++ b/ext_tables.php
@@ -1,5 +1,7 @@
{ } }:
let
- php = pkgs.php82.buildEnv {
+ php = pkgs.php83.buildEnv {
extensions = { enabled, all }: enabled ++ (with all; [
xdebug
]);
@@ -11,7 +11,7 @@ let
memory_limit = 4G
'';
};
- inherit(pkgs.php82Packages) composer;
+ inherit(php.packages) composer;
projectInstall = pkgs.writeShellApplication {
name = "project-install";
@@ -49,7 +49,7 @@ let
'';
};
-in pkgs.mkShell {
+in pkgs.mkShellNoCC {
name = "TYPO3 Extension ThüCAT";
buildInputs = [
php