Typo3 Powermail: Feld vom Typ “Zeige Text” mit RTE anzeigen

Montag, 26. August 2013

So bekommt man den Rich-Text-Editor (RTE) für das Formular-Feld “Zeige Text” in Typo3 Powermail angezeigt:

1. ext_tables.php bearbeiten

Innerhalb einer eigenen Extension folgende Zeilen in der ext_tables.php einfügen. Evtl. können diese Zeilen auch in der typo3conf/extTables.php stehen – habe es noch nicht getestet:

t3lib_div::loadTCA('tx_powermail_domain_model_fields');
 
$rte = array (
  'type' => 'text',
  'cols' => '30',
  'rows' => '5',
  'wizards' => array(
    '_PADDING' => 2,
    'RTE' => array(
      'notNewRecords' => 1,
      'RTEonly'       => 1,
      'type'          => 'script',
      'title'         => 'Full screen Rich Text Editing|Formatteret redigering i hele vinduet',
      'icon'          => 'wizard_rte2.gif',
      'script'        => 'wizard_rte.php',
    ),
  ),
);
 
$TCA['tx_powermail_domain_model_fields']['columns']['text']['config'] = $rte;
 
foreach($GLOBALS['TCA']['tx_powermail_domain_model_fields']['types'] as $index => $conf) {
  $GLOBALS['TCA']['tx_powermail_domain_model_fields']['types'][$index]['showitem'] = preg_replace('/text([.^,])*,/', 'text;;;richtext:rte_transform[flag=rte_enabled|mode=ts];4-4-4,', $GLOBALS['TCA']['tx_powermail_domain_model_fields']['types'][$index]['showitem']);
}

2. Powermail-Template für /Private/Partials/Forms/Text.html anpassen

Dazu den Ordner typo3conf/ext/powermail/Resources/Private/Partials in den fileadmin kopieren, hier z.B. nach fileadmin/extensions/powermail/Private/Partials/. In der Datei /Private/Partials/Forms/Text.html folgende Anpassungen machen:

<div id="powermail_fieldwrap_{field.uid}" class="powermail_fieldwrap powermail_fieldwrap_text powermail_fieldwrap_{field.uid} {field.css}">
   <f:format.html parseFuncTSPath="lib.parseFunc_RTE">{field.text}</f:format.html>
</div>

3. Powermail TS-Constants anpassen, damit neues Template verwendet wird

Diese Zeilen in ein TS-Constants-File für Powermail eintragen – oder über den Template-Editor editieren:

plugin.tx_powermail {
  view.partialRootPath = fileadmin/extensions/powermail/Private/Partials/
}