Zum Hauptinhalt springen Skip to page footer

Powermail 8 für Bootstrap 5 in TYPO3 10 konfigurieren

Eine kurze Anleitung, wie Powermail 8 für Bootstrap 5 in TYPO3 10.4 konfiguriert werden kann und ein mehrspaltiges Layout für die Felder umgesetzt werden kann.

Grundsätzlich wollte ich die Möglichkeit haben, die einzelnen Felder in einem 12-Spalten Layout mit Bootstrap 5 auf voller Breite (12 Spalten), auf 4 und 3 Spalten ab der Medium Device Größe (md) anzeigen zu können.

Zusätzlich wird ein neues Feld für einen Zeilenumbruch (blank line) eingefügt, um Umbrüche erzwingen zu können.

Im Page TSConfig:

TCEFORM {
  # Powermail
  tx_powermail_domain_model_form {
    css {
      removeItems = layout1, layout2, layout3
      addItems {
        col-12 = LLL:EXT:renolit/Resources/Private/Language/locallang.xlf:powermail_12col
        col-md-4 = LLL:EXT:renolit/Resources/Private/Language/locallang.xlf:powermail_4col
        col-md-3 = LLL:EXT:renolit/Resources/Private/Language/locallang.xlf:powermail_3col
      }
    }
  }

  tx_powermail_domain_model_page < .tx_powermail_domain_model_form
  tx_powermail_domain_model_field < .tx_powermail_domain_model_form
}

# Powermail new fields
tx_powermail.flexForm.type.addFieldOptions.blankline = LLL:EXT:renolit/Resources/Private/Language/locallang.xlf:powermail_blankline

Benötigte Übersetzungen:

<trans-unit id="powermail_blankline">
	<source>Blank line</source>
</trans-unit>
<trans-unit id="powermail_12col">
	<source>12 cols (full width)</source>
</trans-unit>
<trans-unit id="powermail_4col">
	<source>4 cols</source>
</trans-unit>
<trans-unit id="powermail_3col">
	<source>3 cols</source>
</trans-unit>

Konstanten:

plugin.tx_powermail {
  settings {
    styles {
      bootstrap {
        numberOfColumns = 2
        rowClasses = row
        formClasses = form-horizontal
        fieldAndLabelWrappingClasses = mb-4
        fieldWrappingClasses = col-12
        labelClasses = control-label col-12 mb-2
        fieldClasses =
        offsetClasses = col-sm-offset-2
        radioClasses = form-check
        checkClasses = form-check
        submitClasses = btn btn-primary
        createClasses = powermail_create
        important = 1
      }

      framework {
        formClasses = container
      }
    }
  }
}

Ergänze ein neues Template für das "Blank line" Feld im konfigurierten Partial-Pfad für Powermail: /dein-partial-pfad/Powermail/Form/Field/Blankline.html mit folgendem Inhalt:

<div class="col-12"></div>

Mit dieser Konfiguration könnt ihr anschließend in jedem Feld einstellen, über welche Breite es sich erstrecken soll und falls benötigt auch einen Umbruch mithilfe des zusätzlichen Feldes (Blank line) einfügen.