Нежелательное скрытое поле и отсутствует для атрибута в флажке (TYPO3, Powermail) - PullRequest
0 голосов
/ 19 июня 2019

У меня проблема с TYPO3 / Powermail. Я попытался добавить пользовательские изображения флажков и столкнулся с проблемами с IE. Я нашел другой веб-сайт, основанный на TYPO3, с настраиваемыми флажками, которые также отлично работают в IE.

Что странно, так это то, что моя структура HTML-формы (сгенерированная TYPO3 / Powermail) выглядит иначе.

Вот мой флажок HTML:

enter image description here

Как видите, у меня вставлено поле со скрытым типом, не знаю почему. А у моего лейбла нет атрибута "за".

Это поле формы здесь (также TYPO3 / Powermail) выглядит красиво:

enter image description here

Здесь у нас нет странного скрытого поля ввода, и в метке есть атрибут «for».

Может кто-нибудь помочь?

1 Ответ

1 голос
/ 20 июня 2019

Шаблоны обеих установок отличаются. Проверьте оригинальные шаблоны и партиалы, поставляемые с EXT: powermail в папке EXT: powermail / Resources / Private. Если вы используете собственные шаблоны, добавьте все необходимые поля и опции.

Например, добавьте атрибут for к частичному значению <label> для переключателей: <label for="powermail_field_{field.marker}_{index.cycle}">.

В более новых версиях EXT: powermail (7.3.1) файл Resources / Private / Partials / Form / Field / Radio.html выглядит так:

{namespace vh=In2code\Powermail\ViewHelpers}

<div class="powermail_fieldwrap powermail_fieldwrap_type_radio powermail_fieldwrap_{field.marker} {field.css} {settings.styles.framework.fieldAndLabelWrappingClasses}">
    <f:render partial="Form/FieldLabel" arguments="{_all}" />

    <div class="{settings.styles.framework.fieldWrappingClasses}">
        <f:for each="{field.modifiedSettings}" as="setting" iteration="index">
            <div class="{settings.styles.framework.radioClasses} {vh:Validation.ErrorClass(field:field, class:'powermail_field_error')}">
                <label>
                    <f:form.radio
                            property="{field.marker}"
                            value="{setting.value}"
                            checked="{vh:Misc.PrefillMultiField(field:field, mail:mail, cycle:index.cycle)}"
                            id="powermail_field_{field.marker}_{index.cycle}"
                            additionalAttributes="{vh:Validation.ValidationDataAttribute(field:field, iteration:index)}"
                            class="powermail_radio" />
                    <vh:string.escapeLabels>{setting.label}</vh:string.escapeLabels>
                </label>
            </div>
        </f:for>

        <f:if condition="{settings.validation.client}">
            <div class="powermail_field_error_container powermail_field_error_container_{field.marker}"></div>
        </f:if>
    </div>

Ресурсы / Private / Partials / Форма / FieldLabel.html:

{namespace vh=In2code\Powermail\ViewHelpers}

<f:comment>
    Partial file for the HTML-structure of nearly all field labels
</f:comment>

<f:if condition="{field.css} != 'nolabel'">
    <label for="powermail_field_{field.marker}" class="{settings.styles.framework.labelClasses}" title="{field.description}">
        <vh:string.escapeLabels>{field.title}</vh:string.escapeLabels><f:if condition="{field.mandatory}"><span class="mandatory">*</span></f:if>
    </label>
</f:if>
...