8
0
Fork 0

show registered export renderers in admin submit without required tpl block extension

Dieser Commit ist enthalten in:
Daniel Seifert 2021-10-29 11:37:51 +02:00
Ursprung 500f226399
Commit e1502b274e
Signiert von: DanielS
GPG-Schlüssel-ID: 8A7C4C6ED1915C6F
6 geänderte Dateien mit 51 neuen und 7 gelöschten Zeilen

Datei anzeigen

@ -103,7 +103,15 @@ abstract class ExportBase implements QueryBase
*/ */
public function getRenderer($format): ExportRenderer\RendererInterface 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);
} }
/** /**

Datei anzeigen

@ -74,4 +74,12 @@ class Csv implements RendererInterface
return $csv; return $csv;
} }
/**
* @return string
*/
public function getTitleTranslationId(): string
{
return 'D3_DATAWIZARD_EXPORT_FORMAT_CSV';
}
} }

Datei anzeigen

@ -38,4 +38,12 @@ class Pretty implements RendererInterface
{ {
return 'txt'; return 'txt';
} }
/**
* @return string
*/
public function getTitleTranslationId(): string
{
return "D3_DATAWIZARD_EXPORT_FORMAT_PRETTY";
}
} }

Datei anzeigen

@ -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 * @param string $format
* *

Datei anzeigen

@ -29,4 +29,9 @@ interface RendererInterface
* @return string * @return string
*/ */
public function getFileExtension() : string; public function getFileExtension() : string;
/**
* @return string
*/
public function getTitleTranslationId() : string;
} }

Datei anzeigen

@ -11,12 +11,12 @@
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
[{block name="dataWizardFormat"}] [{block name="dataWizardFormat"}]
<button class="dropdown-item" onclick="startTask('[{$id}]', 'CSV')"> [{assign var="rendererBridge" value=$item->getRendererBridge()}]
[{oxmultilang ident="D3_DATAWIZARD_EXPORT_FORMAT_CSV"}] [{foreach from=$rendererBridge->getTranslatedRendererIdList() key="key" item="translationId"}]
</button> <button class="dropdown-item" onclick="startTask('[{$id}]', '[{$key}]')">
<button class="dropdown-item" onclick="startTask('[{$id}]', 'Pretty')"> [{oxmultilang ident=$translationId}]
[{oxmultilang ident="D3_DATAWIZARD_EXPORT_FORMAT_PRETTY"}] </button>
</button> [{/foreach}]
[{/block}] [{/block}]
</div> </div>
</div> </div>