Skip to content

Instantly share code, notes, and snippets.

@mneuhaus
Created April 6, 2016 12:20
Show Gist options
  • Save mneuhaus/472590921bf81e8c987042e7c54315b1 to your computer and use it in GitHub Desktop.
Save mneuhaus/472590921bf81e8c987042e7c54315b1 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="{v:extension.loaded(extensionName: 'fluidcontent_core', then: 'ContentCore', else: '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" />
<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>
</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>
</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>
</t:sendMail>
</f:section>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment