Im Registrierungsformular steht das Geburtsdatum in der Reihenfolge Monat - Tag -Jahr.
Diese Reihenfolge möchte ich ändern. Um das entsprechende Template zu finden, habe ich im Testshop den Debug-Modus aktiviert.
Dabei ist mir folgendes aufgefallen:
Während normalerweise das Drop-Down-Menu für den Monat die Ziffern 1 - 12 enthält, stehen bei eingeschaltetem Debug-Modus dort die Monate in Worten ( Januar - Dezember )
Das Template ist /tpl/form/fieldset/user_billing.tpl
ist natürlich nicht schön :mad:
Im Template user_billing.tpl muss der Bereich für den oxbirthday (ziemlich weit unten) geändert werden in
<li class="oxDate[{if $aErrors.oxuser__oxbirthdate}] oxInValid[{/if}]">
<label [{if $oView->isFieldRequired(oxuser__oxbirthdate) }]class="req"[{/if}]>[{ oxmultilang ident="FORM_FIELDSET_USER_BILLING_BIRTHDATE" }]</label>
<label class="innerLabel" for="oxDay">[{ oxmultilang ident="DAY_2" }]</label>
<input id="oxDay" class='oxDay js-oxValidate' name='invadr[oxuser__oxbirthdate][day]' type="text" data-fieldsize="xsmall" maxlength="2" value="[{if $iBirthdayDay > 0 }][{$iBirthdayDay }][{/if}]" />
[{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }]
[{oxscript add="$( '#oxDay' ).oxInnerLabel({sReloadElement:'#userChangeAddress'});"}]
<select class='oxMonth js-oxValidate js-oxValidate_date [{if $oView->isFieldRequired(oxuser__oxbirthdate) }] js-oxValidate_notEmpty [{/if}]' name='invadr[oxuser__oxbirthdate][month]'>
<option value="" label="-">-</option>
[{section name="month" start=1 loop=13 }]
<option value="[{$smarty.section.month.index}]" [{if $iBirthdayMonth == $smarty.section.month.index}] selected="selected" [{/if}]>
[{oxmultilang ident="MONTH_NAME_"|cat:$smarty.section.month.index}]
</option>
[{/section}]
</select>
<label class="innerLabel" for="oxYear">[{ oxmultilang ident="YEAR" }]</label>
<input id="oxYear" class='oxYear js-oxValidate' name='invadr[oxuser__oxbirthdate][year]' type="text" data-fieldsize="small" maxlength="4" value="[{if $iBirthdayYear }][{$iBirthdayYear }][{/if}]" />
[{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }]
[{oxscript add="$( '#oxYear' ).oxInnerLabel({sReloadElement:'#userChangeAddress'});"}]
<p class="oxValidateError">
<span class="js-oxError_notEmpty">[{ oxmultilang ident="EXCEPTION_INPUT_NOTALLFIELDS" }]</span>
<span class="js-oxError_incorrectDate">[{ oxmultilang ident="ERROR_MESSAGE_INCORRECT_DATE" }]</span>
[{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxbirthdate}]
</p>
</li>
das erste Label betrifft den Text, das zweite Label (jetzt) den Tag, dann die Select-Liste für den Monat und dann das Jahr
Dass nicht der Monatsname sondern nur Zahlen in der Select-Liste angezeigt wurden, lag an den Labels für jede option - habe sie hier rausgelöscht.