W nowym sklepie PrestaShop 1.7 klient swoje dane imię nazwisko adres tel podaje dopiero na etapie koszyka zakupy wprowadzając dane do wysyłki towaru, podczas rejestracji klient podaje tylko minimalne dane typu emial + hasło.
Czasami jednak wymagamy aby podczas rejestracji klient podawał swoje pełne dane z adresem bo np. konta są włączane ręcznie przez admina lub dla znanym nam klientom.
Aby dodać pola dodatkowe już podczas rejestracji modyfikujemy plik:
classes/form/CustomerFormatter.php
w nim odszukujemy fragmet kodu:
$this->translator->trans('(E.g.: %date_format%)', array('%date_format%' => Tools::formatDateStr('31 May 1970')), 'Shop.Forms.Help')
)->setRequired(true);
}
pod tym kodem dopisujemy
//additional fields
$format['phone'] = (new FormField)
->setName('phone')
->setLabel(
$this->translator->trans(
'Phone', [], 'Shop.Forms.Labels'
)
)
->setRequired(true)
;
$format['address1'] = (new FormField)
->setName('address1')
->setLabel(
$this->translator->trans(
'Address', [], 'Shop.Forms.Labels'
)
)
->setRequired(true)
;
$format['postcode'] = (new FormField)
->setName('postcode')
->setLabel(
$this->translator->trans(
'Zip/Postal Code', [], 'Shop.Forms.Labels'
)
)
->setRequired(true)
;
$format['city'] = (new FormField)
->setName('city')
->setLabel(
$this->translator->trans(
'City', [], 'Shop.Forms.Labels'
)
)
->setRequired(true)
;
zapisujemy plik i wgrywamy na serwer.
Po wyczyszczeniu ceche otrzymujemy efekt gdzie klient podczas rejestracji podaje odrazu też adres, miasto, kod itd:
tel: 888 537 633
e-mail: axp@prodo.pl