Zum Inhalt springen

Standard-Mailform mit eingestelltem Layout wrappen

Erstellt am 18. Juli 2017 · 2 Antworten · letzte Antwort am 25. Juli 2017

Tags: Fluid, Inhaltselemente, TYPO3 7, Frage

rmaassen ·

Hallo Leute!

Dies ist meine erste Frage in diesem Forum, also seid bitte nachsichtig.

Ich habe ein Typo3 7.6.16 und nutze Fluid Templates. Ich habe verschiedene Content Layouts angelegt, die mit einer entsprechenden CSS Klasse meine Elemente auf eine bestimmte Weise darstellen. Nun möchte ich ein Standard-Mail-Formular nutzen. Stelle ich im Backend bei entsprechendem Contentelement (Typ Mailformular) eines meiner Layouts ein, wird kein Wrapper gesetzt der meine Klassendefinitionen enthält.

Erzeugt wird:

<h2>Überschrift</h2>
<form ...>[...]</form>

Ich wünsche mir:

<div id="..." class="...">
<h2>Überschrift</h2>
<form ...>[...]</form>
</div>

Also die Frage:
Wie erreiche ich, dass das Mailformular mit den als Layouts angelegten Eigenschaften gewrapt wird?

Vielen lieben Dank für alle Lösungsvorschläge. Gerne gebe ich weitere Infos die zur Lösung des Problems beitragen.

rmaassen ·

Hello again!

#Fluid Partials/Templates/Layouts werden überschrieben
lib.fluidContent.partialRootPaths.30 = fileadmin/templates/fluidtemplates/Partials/
lib.fluidContent.templateRootPaths.30 = fileadmin/templates/fluidtemplates/Templates/
lib.fluidContent.layoutRootPaths.30 = fileadmin/templates/fluidtemplates/Layouts/

#Im TS werden dann Layouts definiert:
TCEFORM.tt_content.layout.addItems{
10 = Normal 33%, links
11 = ...
}

---------------------
Wenn ich richtig verstehe wird im Fluid-Template von Mailform auf "HeaderContentFooter" zurück gegriffen.
Dort setze ich in Abhängigkeit des gewählten Layouts id und class:

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<div id="c{data.uid}" class="cbox {f:if(condition:'{data.layout}==0',then:'whiteback r100')}...>
<f:render partial="Header" arguments="{_all}" />
<f:render section="content" />
<f:render partial="Footer" arguments="{_all}" />
</div>
</html>