coo_quickanfrage
Country-Select für Formular Manager
HTML-Template: el-form-manager-country-select.html
HTML
{namespace bh=TYPO3\Bh\ViewHelpers}
{namespace anfrage=TYPO3\CooQuickanfrage\ViewHelpers}
<bh:tmpl.element object="{cObj}">
<bh:variable.typoscript path="plugin.tx_cooquickanfrage.form-manager" as="form-manager">
<bh:property.text tag="label"
class="bh-form-manager__item__label bh-form-manager__label {f:if(condition: '!{form-manager.config.label}', then: 'bh-form-manager__label-hidden')}"
property="{f:if(condition: '!{form-manager.config.label}', then: 'subtext', else: 'text')}"
additionalAttributes="{for: '{cObj.allSettings.inputname}-{cObj.uid}'}" />
<div class="bh-form-manager__field bh-form-manager__field--select {f:if(condition: '{cObj.allSettings.style.bh-form-manager__item--required}', then: 'bh-form-manager__field--required')}"
data-bh-form-manager-name-label="{cObj.allSettings.inputname}">
<div class="bh-form-manager__field__icon bh-font-arrow-simple-down"></div>
<f:if condition="{form-manager.config.placeholder}">
<bh:property.text tag="span" rte="false"
class="bh-form-manager__field__input bh-form-manager__field__input--property" property="subtext" />
</f:if>
<f:variable name="placeholder">
<f:if condition="{form-manager.config.placeholder}">
<f:then>
{cObj.subtext -> f:format.htmlentitiesDecode()}{f:if(condition:
'{cObj.allSettings.style.bh-form-manager__item--required}', then:
'*')}
</f:then>
<f:else></f:else>
</f:if>
</f:variable>
<bh:form.countrySelect countries="{cObj.allSettings.countries}"
favouriteCountries="{cObj.allSettings.favouriteCountries}" format="isoCodeA2"
class="bh-form-manager__field__input bh-form-manager__field__input--select"
id="{cObj.allSettings.inputname}-{cObj.uid}" name="{cObj.allSettings.inputname}"
required="{cObj.allSettings.style.bh-form-manager__item--required}" prependOptionLabel="{placeholder}"
prependOptionValue=""
additionalAttributes="{aria-label: '{f:if(condition: \'!{form-manager.config.label}\', then: \'{cObj.subtext}\', else: \'{cObj.text}\')}'}" />
</div>
</bh:variable.typoscript>
</bh:tmpl.element>
Typoscript: el-form-manager-country-select.typoscript
TYPOSCRIPT
plugin.tx_bh.settings.contentElements.el-form-manager-country-select < abstract.bhElement
plugin.tx_bh.settings.contentElements.el-form-manager-country-select {
name = Land-Auswahl
description = Dieses Element kann nur im Formular-Manager verwendet werden
templateFile = el-form-manager-country-select.html
templatePath = EXT:coo_quickanfrage/Resources/Public/Elements/el-form-manager-items/el-form-manager-country-select/
settingsForm = EXT:coo_quickanfrage/Resources/Public/Elements/el-form-manager-items/el-form-manager-country-select/el-form-manager-country-select-settings.html
iconFile = EXT:bh/Resources/Public/Icons/Elemente/select.svg
bheParentElement = el-form-manager
bheSortPriority = 50
options.translate = 1
options.oncreate = advanced
countries = all
favouriteCountries = at,de,nl,ch,en,it
styleOptions {
size < plugin.tx_cooquickanfrage.form-manager.styleOptions.size
}
dummyData.text = Land-Auswahl
dummyData.subtext = Land-Auswahl
userClass = bh-form-manager__item bh-form-manager__item--select bh-form-manager__item--country-select
}
plugin.tx_cooquickanfrage.form-manager.items := addToList(el-form-manager-country-select)
bh.page.includeCSSLibs.el-form-manager-country-select = EXT:coo_quickanfrage/Resources/Public/Elements/el-form-manager-items/el-form-manager-country-select/el-form-manager-country-select.css
[bh.isMobile]
bhDefaultMobilePage.includeCSSLibs.el-form-manager-country-select < bh.page.includeCSSLibs.el-form-manager-country-select
[global]
Settings-HTML: el-form-manager-country-select-settings.html
HTML
{namespace bh=TYPO3\Bh\ViewHelpers}
{namespace anfrage=TYPO3\CooQuickanfrage\ViewHelpers}
<bh:form.settingsform content="{cObj}">
<anfrage:manager.item.settings item="{cObj}" />
<div class="bhe-formsettings-option">
<label
data-tooltip="Liste der Länder die ausgegben werden sollen.(Kommagetrennte ISO-Codes; 'all' oder leer für alle Länder)"
data-tooltip-view="extended">Länder</label>
<f:form.textfield name="countries" value="{cObj.allSettings.countries}" />
</div>
<div class="bhe-formsettings-option">
<label data-tooltip="Liste der Länder die vorgereiht werden sollen.(Kommagetrennte ISO-Codes)"
data-tooltip-view="extended">Favoriten</label>
<f:form.textfield name="favouriteCountries" value="{cObj.allSettings.favouriteCountries}" />
</div>
<bh:form.dynamicFields item="{cObj}" settings="{cObj.allSettings.settingsGlobalFields}" />
<f:form.submit value="Speichern" />
</bh:form.settingsform>