2017-04-11 4 views
0

Ich benutze Powermail, um einem FE-Benutzer zu erlauben, ein paar Felder seines eigenen User-Record zu bearbeiten. Funktioniert gut, keine Hektik.TYPO3: Hochladen von Dateien in FAL mit Powermail

Jetzt möchte ich auch den Upload einer Datei erlauben. Gibt es eine Möglichkeit, die Datei mit powermail in FAL zu speichern? Leider habe ich diesbezüglich keinerlei Ressourcen gefunden. Vielleicht ist es möglich, eine Benutzerfunktion beim Speichern in DB zu implementieren, die die erforderlichen DB-Einträge erzeugen würde? Wenn powermails "upload" -field-type verwendet wird, wird die Datei in uploads/tx_powermail geschrieben. Ich habe Zugang zu diesem Pfad in meinem db_entry Schritt in TypoScript-Dateien und es auf einen userfunc passieren könnte - die im Gegenzug sollen

  • den sys_file Eintrag erzeugen
  • eine possiblibly löscht bereits bestehend sys_file_reference
  • die Erzeugung new sys_file_reference

Fehle ich etwas? Irgendwelche Ideen dazu? Hat jemand so etwas schon einmal gemacht?

Oder ist meine einzige Alternative, um von Powermail zu einer benutzerdefinierten Extbase-Erweiterung zu wechseln?

System: TYPO3 7.6.16, Power 3,17

Dank

Antwort

0

Nur für den Rekord. TYPO3 8 core bietet eine neue Formularerweiterung, die beides ermöglicht. Mit dem Speichern auf Datenbank Finisher können Sie fe_user Daten einfach bearbeiten. Darüber hinaus werden alle Bilduploads als FAL behandelt. Wir werden diesen Anwendungsfall dokumentieren und eine kleine Erweiterung veröffentlichen, die den Job (bald) erledigt.

+0

das klingt gut - bitte hier posten, wenn Sie dies getan haben, würde gerne einen Blick darauf werfen. Vielen Dank –

2

Ich habe dieselben Probleme in Powermail und ich verwende Powermail Finisher Klasse wie unten.

TypoScript:

plugin.tx_powermail.settings.setup { 
    finishers { 
     1 { 
      class = Vendor\Ext\Finisher\AddImageFinisher 
      config { 
      # set pid.    
      pid = TEXT 
      pid.value = 79 // Here 

      #set powermail fields title 
      field_name = Name 
      field_place = Place 
      field_email = E-Mail 
      field_message = Message 
      } 
     } 
    } 
} 

Bitte reffere diesen Link. AddImageFinisher Class file