Zum Inhalt springen

Zusätzliche Felder im Formular

Erstellt am 1. Dezember 2015 · 1 Antwort · letzte Antwort am 3. Dezember 2015

Tags: Frage

dosdeclasseur ·

Hallo zusammen,

ich versuche gerade eine Erweiterung für Typo3 zu schreiben. Deswegen stehe ich gerade vor einem kleinen Problem. - Und bevor ich mit Ausprobieren anfange, frage ich mal hier im Forum nach.

Und zwar möchte ich in einem Formular zusätzliche Felder, die nicht im Model (das dann in die Datenbank geschrieben werden soll) vorhanden sind. Diese Felder sollen im Controller bearbeitet werden und dann in ein Datenbankfeld geschrieben werden.

Kann ich ein zusätzliches Model erstellen, welches die zusätzlichen Formular-Felder abbildet und damit das Formular bedienen. Und dann alles in das Model "umschreiben", das auf ein Repository verweist?

Vielen Dank.

(#116880 habe ich gefunden, aber ich denke, dass das ein etwas anderer Ansatz ist.)

Würde meine Idee vom Prinzip her funktionieren?

freshman17 ·

Ja das würde gehen. Du kannst beliebige Properties im Model anlegen, diese müssen nicht in der DB vorhanden sein. Im Controller kannst du damit machen was du möchtest. Es ist möglich dass eine Action paar Eigenschaften nicht mag, diese können dann in einer initialize*Action freigegeben werden z.B. so:

/**
 * Initializes the controller before invoking an action method.
 *
 * @return void
 */
protected function initializeIndexAction() {
  // Allow certain properties for search query
  if ( $this->arguments->hasArgument('query') ) {
    $propertyMappingConfiguration = $this->arguments->getArgument('query')->getPropertyMappingConfiguration();
  $propertyMappingConfiguration->allowAllProperties();
  }

/**
 * @param \Foo\Bar\Request\Query $query
 * @return string The rendered view
 */
 public function indexAction( \Foo\Bar\Request\Query $query = NULL ) {
 }
}

Funktioniert mit TYPO3 7.6, bei 6.2 ist es minimal anders aber das findest bei Google bestimmt. Evtl. wird das sogar nicht benötigt, einfach testen.