Der Weg von eleazar kann bei dir gar nicht funktionieren, weil dies sich auf die Version 1.6 bezieht und du die Version 1.7 hast
Habe mal im Code geschaut und habe es einmal kurz getestet. Ging bei mir soweit.
in classes/form/CustomerFormatter.php, Zeile 197 heisst es bei mir:
if ($this->ask_for_birthdate) { $format['birthday'] = (new FormField()) ->setName('birthday') ->setType('text') ->setLabel( $this->translator->trans( 'Birthdate', [], 'Shop.Forms.Labels' ) ) ->addAvailableValue('placeholder', Tools::getDateFormat()) ->addAvailableValue( 'comment', $this->translator->trans('(E.g.: %date_format%)', array('%date_format%' => Tools::formatDateStr('31 May 1970')), 'Shop.Forms.Help') ); }
wenn du dort ans Ende noch einen weiteren Methodenaufruf anhängst, also:
if ($this->ask_for_birthdate) { $format['birthday'] = (new FormField()) ->setName('birthday') [...] ->addAvailableValue( 'comment', $this->translator->trans('(E.g.: %date_format%)', array('%date_format%' => Tools::formatDateStr('31 May 1970')), 'Shop.Forms.Help') ) ->setRequired(true); }
...sollte es gehen.
Das Layout ("Optional" verschwindet) und die Logik (ist Pflichtfeld) folgen dann dieser Vorgabe.
Da das aber eine Codeänbderung im Prestashop-Code ist, kann das bei einem Update wieder rausfliegen, nur mal so als Hinweis.
.png.022b5452a8f28f552bc9430097a16da2.png)