Skip to content

Instantly share code, notes, and snippets.

@mneuhaus
Created November 30, 2016 13:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mneuhaus/6fe1b4fd7ecba3686e32397981384a1f to your computer and use it in GitHub Desktop.
Save mneuhaus/6fe1b4fd7ecba3686e32397981384a1f to your computer and use it in GitHub Desktop.
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
{namespace t=Famelo\Template\ViewHelpers}
<f:layout name="Content" />
<f:section name="Configuration">
<flux:form id="event-registration" options="{group: 'forms'}" label="Registrierungsformular für Veranstaltung">
<flux:field.input name="title" label="Veranstaltungsname" required="1" />
<flux:field.text name="introduction" label="Einleitung" rows="3" enableRichText="1" />
<flux:field.text name="information" label="Veranstaltungsinformationen" rows="3" enableRichText="1" />
<flux:field.input name="recipient" label="Empfänger" required="1" />
<flux:field.input name="subject" label="E-Mail Betreff" required="1" />
<flux:field.input name="subjectSender" label="E-Mail Betreff (Sender)" required="1" />
<flux:field.text name="successMessage" label="Bestätigungstext" rows="2" />
<flux:field.text name="emailTextSender" label="Text für den Teilnehmer" rows="2" />
<flux:form.section name="options" label="Zusatzoptionen">
<flux:form.object name="option" label="Zusatzoption">
<flux:field.input name="label" label="Beschreibung" required="1" />
<flux:field.checkbox name="active" label="Soll diese Option vorangehakt sein?" />
</flux:form.object>
</flux:form.section>
<t:flux.validate name="register" as="NotEmpty" />
<t:flux.validate name="firstname" as="NotEmpty" />
<t:flux.validate name="lastname" as="NotEmpty" />
<t:flux.validate name="email" as="EmailAddress" />
<t:flux.validate name="email" as="NotEmpty" />
</flux:form>
</f:section>
<f:section name="Main">
<div class="event-registration">
<div class="row">
<div class="col-xs-12">
<h1>{record.header}</h1>
{introduction -> f:format.html()}
</div>
</div>
<div class="row">
<div class="col-xs-6">
{information -> f:format.html()}
</div>
<div class="col-sm-6">
<f:form extensionName="template" pluginName="content" id="form{record.uid}" section="form{record.uid}" noCache="1" class="ajax-form">
<f:form.hidden name="nextSection" value="Success" />
<f:form.hidden name="form" value="eventRegistration" />
<p>
<div class="radio">
<label>
<f:if condition="{register} == 'ja'">
<f:then>
<f:form.radio name="register" value="ja" checked="1"/>
</f:then>
<f:else>
<f:form.radio name="register" value="ja" checked="{f:if(condition: register, then: 0, else: 1)}"/>
</f:else>
</f:if>
Ja, ich nehme an der Veranstaltung {title} teil
</label>
</div>
<div class="radio">
<label>
<f:if condition="{register} == 'nein'">
<f:then>
<f:form.radio name="register" value="nein" checked="1"/>
</f:then>
<f:else>
<f:form.radio name="register" value="nein" checked="0"/>
</f:else>
</f:if>
Ich kann leider nicht teilnehmen, bitte aber um Übersendung der Unterlagen.
</label>
</div>
<f:if condition="{validationResults.register}">
<f:for each="{validationResults.register}" as="error">
<span class="error"><f:translate key="LLL:EXT:template/Resources/Private/Language/validation.xlf:error.{error.code}" default="{error.code}: {error.message}"/></span>
</f:for>
</f:if>
<f:if condition="{options}">
<f:for each="{options}" key="index" as="item">
<div class="checkbox">
<label>
<f:form.checkbox name="option_{index}" value="1" checked="{item.option.active}"/>
{item.option.label}
</label>
</div>
</f:for>
</f:if>
</p>
<p>
<label>
Vorname
</label>
<f:form.textfield name="firstname" value="{firstname}" class="form-control" />
<f:if condition="{validationResults.firstname}">
<f:for each="{validationResults.firstname}" as="error">
<span class="error"><f:translate key="LLL:EXT:template/Resources/Private/Language/validation.xlf:error.{error.code}" default="{error.code}: {error.message}"/></span>
</f:for>
</f:if>
</p>
<p>
<label>
Nachname
</label>
<f:form.textfield name="lastname" value="{lastname}" class="form-control" />
<f:if condition="{validationResults.lastname}">
<f:for each="{validationResults.lastname}" as="error">
<span class="error"><f:translate key="LLL:EXT:template/Resources/Private/Language/validation.xlf:error.{error.code}" default="{error.code}: {error.message}"/></span>
</f:for>
</f:if>
</p>
<p>
<label>
Firma
</label>
<f:form.textfield name="company" value="{company}" class="form-control" />
<f:if condition="{validationResults.company}">
<f:for each="{validationResults.company}" as="error">
<span class="error"><f:translate key="LLL:EXT:template/Resources/Private/Language/validation.xlf:error.{error.code}" default="{error.code}: {error.message}"/></span>
</f:for>
</f:if>
</p>
<p>
<label>
E-Mail
</label>
<f:form.textfield name="email" value="{email}" class="form-control" />
<f:if condition="{validationResults.email}">
<f:for each="{validationResults.email}" as="error">
<span class="error"><f:translate key="LLL:EXT:template/Resources/Private/Language/validation.xlf:error.{error.code}" default="{error.code}: {error.message}"/></span>
</f:for>
</f:if>
</p>
<button type="submit" class="btn btn-default btn-blue pull-right">
Absenden
</button>
<div class="spinner">
<div class="bounce1"></div>
<div class="bounce2"></div>
<div class="bounce3"></div>
</div>
</f:form>
</div>
</div>
</div>
</f:section>
<f:section name="Success">
<div id="form{record.uid}">
<div class="row">
<div class="col-xs-12">
<p class="contacttext">
{successMessage}
</p>
</div>
</div>
</div>
<t:sendMail subject="{subject}" recipients="{recipient}">
<p>
<strong>{firstname} {lastname}</strong><br />
<f:if condition="{company}">
<strong>{company}</strong><br />
</f:if>
<strong>{email}</strong>
</p>
<p>
<f:if condition="{register} == 'ja'">
<f:then>Ja, ich nehme an der Veranstaltung {title} teil</f:then>
<f:else>Ich kann leider nicht teilnehmen, bitte aber um Übersendung der Unterlagen.</f:else>
</f:if>
</p>
<f:for each="{options}" key="index" as="item">
<t:variableValue name="option_{index}" as="value">
<f:if condition="{value}">
<p>{item.option.label}</p>
</f:if>
</t:variableValue>
</f:for>
</t:sendMail>
<t:sendMail subject="{subjectSender}" recipients="{email}">
<p><f:format.nl2br>{emailTextSender}</f:format.nl2br></p>
<hr />
<p>
<strong>{firstname} {lastname}</strong><br />
<f:if condition="{company}">
<strong>{company}</strong><br />
</f:if>
<strong>{email}</strong>
</p>
<p>
<f:if condition="{register} == 'ja'">
<f:then>Ja, ich nehme an der Veranstaltung {title} teil</f:then>
<f:else>Ich kann leider nicht teilnehmen, bitte aber um Übersendung der Unterlagen.</f:else>
</f:if>
</p>
<f:for each="{options}" key="index" as="item">
<t:variableValue name="option_{index}" as="value">
<f:if condition="{value}">
<p>{item.option.label}</p>
</f:if>
</t:variableValue>
</f:for>
</t:sendMail>
</f:section>
<f:section name="Preview">
Anmeldeformular
</f:section>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment