[TYPO3-german] Plugin update mittels SQL-Update-Query funktioniert nicht

Bernd Wilke t3n at pi-phi.de
Mon Mar 21 14:33:52 CET 2016


aktuell soll ich ein altes 4.5er Projekt auf 7.6 aktualisieren.

dabei müssen natürlich auch viele Extensions aktualsiert werden.
u.a. auch powermail von 1.6.9 nach 2.25.0

nun hat es in powermail mit der 2.er einige Umstellungen gegeben.
nicht nur dass die Formulare jetzt anders gespeichert werden, auch das 
ContentElement ist geändert worden. von einem echten CE mit eigenen 
Feldern für alle Einstellungen zu einem Plugin mit Konfiguration im Feld 
pi_flexform.

da dachte ich mir, das kann ich auch wunderbar in einem SQL-Query machen:

update tt_content set CType = 'list', list_type = 'powermail_pi1', 
pi_flexform 	=
concat('<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3FlexForms>
     <data>
         <sheet index="main">
             <language index="lDEF">
                 <field index="settings.flexform.main.form">
                     <value index="vDEF">',
IF(STRCMP(tx_powermail_title,"mitgliedwerden"),"1","2"),
'</value>
                 </field>
                 <field index="settings.flexform.main.confirmation">
                     <value index="vDEF">',
tx_powermail_confirm,
'</value>
                 </field>
                 <field index="settings.flexform.main.optin">
                     <value index="vDEF">',
tx_powermailoptin_optin,
'</value>
                 </field>
                 <field index="settings.flexform.main.moresteps">
                     <value index="vDEF">',
tx_powermail_multiple,
'</value>
                 </field>
                 <field index="settings.flexform.main.pid">
                     <value index="vDEF">',
tx_powermail_pages,
'</value>
                 </field>
             </language>
         </sheet>
         <sheet index="receiver">
             <language index="lDEF">
                 <field index="settings.flexform.receiver.type">
                     <value index="vDEF">0</value>
                 </field>
                 <field index="settings.flexform.receiver.name">
                     <value index="vDEF">',
'tx_powermail_title=[',tx_powermail_title,']=>CMP=[',STRCMP(tx_powermail_title,"mitgliedwerden"),']=>',
IF(STRCMP(tx_powermail_title,"mitgliedwerden"),"kontaktform!","mitgliedform!"), 
				
'</value>
                 </field>
                 <field index="settings.flexform.receiver.email">
                     <value index="vDEF">',
tx_powermail_recipient,
'</value>
                 </field>
                 <field index="settings.flexform.receiver.subject">
                     <value index="vDEF">',
tx_powermail_subject_r,
'</value>
                 </field>
                 <field index="settings.flexform.receiver.body">
                     <value index="vDEF">',
REPLACE(tx_powermail_mailreceiver,'###POWERMAIL_ALL###','{powermail_all}'),
'</value>
                 </field>
				<field index="settings.flexform.receiver.predefinedemail">
                     <value index="vDEF"></value>
                 </field>
             </language>
         </sheet>
         <sheet index="sender">
             <language index="lDEF">
                 <field index="settings.flexform.sender.name">
                     <value index="vDEF">{ihrname}</value>
                 </field>
                 <field index="settings.flexform.sender.email">
                     <value index="vDEF">{e-mail}</value>
                 </field>
                 <field index="settings.flexform.sender.subject">
                     <value index="vDEF">',
tx_powermail_subject_s,
'</value>
                 </field>
                 <field index="settings.flexform.sender.body">
                     <value index="vDEF">',
REPLACE(tx_powermail_mailsender,'###POWERMAIL_ALL###','{powermail_all}'),
'</value>
                 </field>
             </language>
         </sheet>
         <sheet index="thx">
             <language index="lDEF">
                 <field index="settings.flexform.thx.body">
                     <value index="vDEF">',
REPLACE(tx_powermail_thanks,'###POWERMAIL_ALL###','{powermail_all}'),
'</value>
                 </field>
                 <field index="settings.flexform.thx.redirect">
                     <value index="vDEF">',
tx_powermail_redirect,
'</value>
                 </field>
             </language>
         </sheet>
     </data>
</T3FlexForms>')
WHERE CType = 'powermail_pi1' AND deleted = 0

Datenbank mäßig sieht das Ergebnis eigentlich auch ganz toll aus.
es erscheint der gleich eContent im Feld pi_flexform, als wenn ich ein 
powermail-plugin händisch erstellt und dort alle Werte für die Felder 
entsprechend eingetragen habe.

nur funktioniert weder das FE,
noch werden die Plugin-Einstellungen so im BE angezeigt:
als ob das pi_flexform leer wäre.

Hat schon mal jemand ähnliche Probleme gehabt?

bernd




More information about the TYPO3-german mailing list