diff --git a/Classes/Domain/Import/Entity/TouristAttraction.php b/Classes/Domain/Import/Entity/TouristAttraction.php
index 4253af9..7e48082 100644
--- a/Classes/Domain/Import/Entity/TouristAttraction.php
+++ b/Classes/Domain/Import/Entity/TouristAttraction.php
@@ -35,6 +35,11 @@ class TouristAttraction extends Place implements MapsToType
*/
protected $startOfConstruction = '';
+ /**
+ * @var string[]
+ */
+ protected $sanitations = [];
+
public function getSlogan(): string
{
return $this->slogan;
@@ -45,6 +50,14 @@ class TouristAttraction extends Place implements MapsToType
return $this->startOfConstruction;
}
+ /**
+ * @return string[]
+ */
+ public function getSanitations(): array
+ {
+ return $this->sanitations;
+ }
+
/**
* @internal for mapping via Symfony component.
*/
@@ -61,6 +74,21 @@ class TouristAttraction extends Place implements MapsToType
$this->startOfConstruction = $startOfConstruction;
}
+ /**
+ * @internal for mapping via Symfony component.
+ * @param string|array $sanitation
+ */
+ public function setSanitation($sanitation): void
+ {
+ if (is_string($sanitation)) {
+ $sanitation = [$sanitation];
+ }
+
+ $this->sanitations = array_map(function (string $sanitation) {
+ return str_replace('thuecat:', '', $sanitation);
+ }, $sanitation);
+ }
+
public static function getSupportedTypes(): array
{
return [
diff --git a/Classes/Domain/Import/Typo3Converter/TouristAttraction.php b/Classes/Domain/Import/Typo3Converter/TouristAttraction.php
index 799aed3..c0cbed3 100644
--- a/Classes/Domain/Import/Typo3Converter/TouristAttraction.php
+++ b/Classes/Domain/Import/Typo3Converter/TouristAttraction.php
@@ -109,6 +109,7 @@ class TouristAttraction implements Converter
'description' => $entity->getDescription(),
'slogan' => $entity->getSlogan(),
'start_of_construction' => $entity->getStartOfConstruction(),
+ 'sanitation' => implode(',', $entity->getSanitations()),
'managed_by' => $manager ? $manager->getUid() : 0,
'town' => $town ? $town->getUid() : 0,
'media' => $this->getMedia($entity, $language),
diff --git a/Classes/Domain/Model/Frontend/TouristAttraction.php b/Classes/Domain/Model/Frontend/TouristAttraction.php
index a243720..f18049c 100644
--- a/Classes/Domain/Model/Frontend/TouristAttraction.php
+++ b/Classes/Domain/Model/Frontend/TouristAttraction.php
@@ -23,6 +23,7 @@ declare(strict_types=1);
namespace WerkraumMedia\ThueCat\Domain\Model\Frontend;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\DomainObject\AbstractEntity;
class TouristAttraction extends AbstractEntity
@@ -72,6 +73,11 @@ class TouristAttraction extends AbstractEntity
*/
protected $startOfConstruction = '';
+ /**
+ * @var string
+ */
+ protected $sanitation = '';
+
public function getTitle(): string
{
return $this->title;
@@ -116,4 +122,9 @@ class TouristAttraction extends AbstractEntity
{
return $this->startOfConstruction;
}
+
+ public function getSanitation(): array
+ {
+ return GeneralUtility::trimExplode(',', $this->sanitation, true);
+ }
}
diff --git a/Configuration/TCA/tx_thuecat_tourist_attraction.php b/Configuration/TCA/tx_thuecat_tourist_attraction.php
index c8da176..8ec83ce 100644
--- a/Configuration/TCA/tx_thuecat_tourist_attraction.php
+++ b/Configuration/TCA/tx_thuecat_tourist_attraction.php
@@ -93,6 +93,14 @@ return (static function (string $extensionKey, string $tableName) {
'readOnly' => true,
],
],
+ 'sanitation' => [
+ 'label' => $languagePath . '.sanitation',
+ 'l10n_mode' => 'prefixLangTitle',
+ 'config' => [
+ 'type' => 'input',
+ 'readOnly' => true,
+ ],
+ ],
'opening_hours' => [
'label' => $languagePath . '.opening_hours',
'l10n_mode' => 'exclude',
@@ -176,7 +184,7 @@ return (static function (string $extensionKey, string $tableName) {
],
'types' => [
'0' => [
- 'showitem' => '--palette--;;language, title, description, slogan, start_of_construction, opening_hours, offers, address, media, remote_id, --div--;' . $languagePath . '.tab.relations, town, managed_by',
+ 'showitem' => '--palette--;;language, title, description, slogan, start_of_construction, sanitation, opening_hours, offers, address, media, remote_id, --div--;' . $languagePath . '.tab.relations, town, managed_by',
],
],
];
diff --git a/Resources/Private/Language/de.locallang.xlf b/Resources/Private/Language/de.locallang.xlf
new file mode 100644
index 0000000..80b9333
--- /dev/null
+++ b/Resources/Private/Language/de.locallang.xlf
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ per package
+ pro Paket
+
+
+ per group
+ pro Gruppe
+
+
+ per person
+ pro Person
+
+
+ Toilets
+ Toilette
+
+
+ Disabled Toilets
+ Behindertentoilette
+
+
+ Nappy Changing Area
+ Wickelplatz
+
+
+ Family and Child Friendly
+ familien- / kindgerecht
+
+
+ Zero Sanitation
+ keine sanitäre Einrichtung
+
+
+
+
diff --git a/Resources/Private/Language/locallang.xlf b/Resources/Private/Language/locallang.xlf
index 661b64b..44e8e28 100644
--- a/Resources/Private/Language/locallang.xlf
+++ b/Resources/Private/Language/locallang.xlf
@@ -111,13 +111,28 @@
- pro Paket
+ per package
- pro Gruppe
+ per group
- pro Person
+ per person
+
+
+ Toilets
+
+
+ Disabled Toilets
+
+
+ Nappy Changing Area
+
+
+ Family and Child Friendly
+
+
+ Zero Sanitation