Losowo sklepy presta shop mają problem zmiany hasła objawia się to tym że użytkownik chcąc zmienić hasło wykonuje standardowe czynności
idzie na konto i wysyłasz reset hasła
presta wysyła poprawnie email i link resetowania OK
Aby potwierdzić tę akcję, kliknij następujący link: tu klikamy w link który nadal poprawnie prowadzi nas na stronę sklepu gdzie widzimy pola do zmiany hasła i tu pojawia się problem wpisujesz hasło dwa razy nowe klikamy Zapisz i witam nas komunikat
Nie możemy odnowić Twojego hasła z danymi które wysłałeś
Solucja aby naprawić problem wymaga od nas edycji plików php i tak:
edytujemy plik:
../controllers/front/PasswordController.php
odszukujemy w nim kod:
if (!$isSubmit || $this->errors) {
// If password is NOT submitted OR there are errors, shows the form (and errors)
$this->context->smarty->assign([
'customer_email' => $customer->email,
'customer_token' => $token,
'id_customer' => $id_customer,
'reset_token' => $reset_token,
]);
i zmieniamy go na kod
if (!$isSubmit || $this->errors) {
// If password is NOT submitted OR there are errors, shows the form (and errors)
$this->context->smarty->assign([
'customer_email' => $customer->email,
'customer_token' => $token,
'id_customer' => $id_customer,
'id_customer_ok' => $id_customer,
'reset_token' => $reset_token,
]);
edytujemy plik w naszym szablonie:
../themes/NazwaSzablonuZainstalowanego/templates/customer/password-new.tpl
<input type="hidden" name="token" id="token" value="{$customer_token}">
<input type="hidden" name="id_customer" id="id_customer" value="{$id_customer}">
<input type="hidden" name="reset_token" id="reset_token" value="{$reset_token}">
i zmieniamy go na kod
<input type="hidden" name="token" id="token" value="{$customer_token}">
<input type="hidden" name="id_customer" id="id_customer" value="{$id_customer_ok}">
<input type="hidden" name="reset_token" id="reset_token" value="{$reset_token}">
zapisujemy pliki wgrywamy na serwer po czym czyścimy tymczasowe pliki sklepu z poziomu panelu admina.
Efekt użytkownik sklepu presta może poprawnie generować nowe hasło na swoim koncie