From e1502b274e5e8b60e024c45ecf69cbcb231ae556 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Fri, 29 Oct 2021 11:37:51 +0200 Subject: [PATCH] show registered export renderers in admin submit without required tpl block extension --- Application/Model/ExportBase.php | 10 +++++++++- Application/Model/ExportRenderer/Csv.php | 8 ++++++++ Application/Model/ExportRenderer/Pretty.php | 8 ++++++++ .../Model/ExportRenderer/RendererBridge.php | 15 +++++++++++++++ .../Model/ExportRenderer/RendererInterface.php | 5 +++++ Application/views/admin/tpl/inc/exportSubmit.tpl | 12 ++++++------ 6 files changed, 51 insertions(+), 7 deletions(-) diff --git a/Application/Model/ExportBase.php b/Application/Model/ExportBase.php index 8b816bc..c85a054 100644 --- a/Application/Model/ExportBase.php +++ b/Application/Model/ExportBase.php @@ -103,7 +103,15 @@ abstract class ExportBase implements QueryBase */ public function getRenderer($format): ExportRenderer\RendererInterface { - return oxNew(RendererBridge::class)->getRenderer($format); + return $this->getRendererBridge()->getRenderer($format); + } + + /** + * @return RendererBridge + */ + public function getRendererBridge() + { + return oxNew(RendererBridge::class); } /** diff --git a/Application/Model/ExportRenderer/Csv.php b/Application/Model/ExportRenderer/Csv.php index 56ea762..d8e92e9 100644 --- a/Application/Model/ExportRenderer/Csv.php +++ b/Application/Model/ExportRenderer/Csv.php @@ -74,4 +74,12 @@ class Csv implements RendererInterface return $csv; } + + /** + * @return string + */ + public function getTitleTranslationId(): string + { + return 'D3_DATAWIZARD_EXPORT_FORMAT_CSV'; + } } \ No newline at end of file diff --git a/Application/Model/ExportRenderer/Pretty.php b/Application/Model/ExportRenderer/Pretty.php index 9bc2920..9029853 100644 --- a/Application/Model/ExportRenderer/Pretty.php +++ b/Application/Model/ExportRenderer/Pretty.php @@ -38,4 +38,12 @@ class Pretty implements RendererInterface { return 'txt'; } + + /** + * @return string + */ + public function getTitleTranslationId(): string + { + return "D3_DATAWIZARD_EXPORT_FORMAT_PRETTY"; + } } \ No newline at end of file diff --git a/Application/Model/ExportRenderer/RendererBridge.php b/Application/Model/ExportRenderer/RendererBridge.php index 545dec3..6713bb8 100644 --- a/Application/Model/ExportRenderer/RendererBridge.php +++ b/Application/Model/ExportRenderer/RendererBridge.php @@ -33,6 +33,21 @@ class RendererBridge ]; } + public function getTranslatedRendererIdList() + { + $rendererList = $this->getRendererList(); + array_walk($rendererList, [$this, 'translateRendererId']); + return $rendererList; + } + + /** + * @param RendererInterface $instance + */ + protected function translateRendererId(RendererInterface &$instance) + { + $instance = $instance->getTitleTranslationId(); + } + /** * @param string $format * diff --git a/Application/Model/ExportRenderer/RendererInterface.php b/Application/Model/ExportRenderer/RendererInterface.php index e9e157d..6fd8f33 100644 --- a/Application/Model/ExportRenderer/RendererInterface.php +++ b/Application/Model/ExportRenderer/RendererInterface.php @@ -29,4 +29,9 @@ interface RendererInterface * @return string */ public function getFileExtension() : string; + + /** + * @return string + */ + public function getTitleTranslationId() : string; } \ No newline at end of file diff --git a/Application/views/admin/tpl/inc/exportSubmit.tpl b/Application/views/admin/tpl/inc/exportSubmit.tpl index 878f0a7..45fa143 100644 --- a/Application/views/admin/tpl/inc/exportSubmit.tpl +++ b/Application/views/admin/tpl/inc/exportSubmit.tpl @@ -11,12 +11,12 @@ \ No newline at end of file