Polskie wsparcie PrestaShop
PrestaShop => Dla początkujących => Wątek zaczęty przez: Belus w Maj 26, 2019, 09:54:29 pm
-
Przy próbie zakupu jako "Gość" wyskakują następujące komunikaty:
Jest 7 błąd/błędy:
Państwo nie może być załadowane z address->id_country
Nieprawidłowy kraj
id_country jest wymagane.
nazwisko jest wymagane.
imię jest wymagane.
adres1 jest wymagane.
miasto jest wymagane.
Przy zwykłej rejestracji tych błędów nie ma. Proszę o pomoc.
-
A szablon oryginalny? Jakies dodatkowe moduly, kombinacje w kontrolerach?
Mozesz raz, zaczac od wlaczenia dev_mode, dwa, wylaczenia nadpisywania plikow i modulow spoza presta i sprawdzic co sie dzieje
-
A szablon oryginalny? Jakies dodatkowe moduly, kombinacje w kontrolerach?
Mozesz raz, zaczac od wlaczenia dev_mode, dwa, wylaczenia nadpisywania plikow i modulow spoza presta i sprawdzic co sie dzieje
Szablon oryginalny. Z dodatkowych modułów mam: politykę prywatności, mail aktywujący założenie konta i moduł tłumaczący nazwy krajów na język angielski i niemiecki. Wszystkie darmowe, znalezione na forach. Wyłączenie ich ręcznie nic nie zmienia. Włączenie trybu debugowania też nie przynosi żadnych zmian.
-
Dodam jeszcze że okienka do wypełnienia w tworzeniu nowego konta i szybich zakupach się różnią. Skoro biorą one dane z innych fragmentów kodu to może w tym tkwi problem?
-
Wylaczenie reczne modulow nie usuwa nadpisanych klas w override. Jak pisalem,, wylacz modult nie odbpresta i nadpisywanie plikow z poziomu panelu i wtedy sprawdz czy bedzie dzialac.
-
Wylaczenie reczne modulow nie usuwa nadpisanych klas w override. Jak pisalem,, wylacz modult nie odbpresta i nadpisywanie plikow z poziomu panelu i wtedy sprawdz czy bedzie dzialac.
Mam tak:
Wyłącz moduły nie od PrestaShop : TAK
Wyłącz wszystkie nadpisywania : TAK
I pomimo tego błędy i tak się wyświetlają.
Dziwi mnie jedna rzecz. Pomimo wyłączenia w panelu modułów z poza Presty moduły: Activation By Mail i moduł Privacy Policy i tak działają. Czy tak powinno być?
-
Nie powinno być tak zmień nazwę folderu na old i dodatkowo sprawdź override w poszukiwaniu nadpisywań.
-
Nie powinno być tak zmień nazwę folderu na old(..)
Nazwę którego folderu zmenić?
(...) i dodatkowo sprawdź override w poszukiwaniu nadpisywań.
W jaki sposób mogę zrobić?
-
folderu modułu
poprzez ftp porównaj katalogi override z modułu i ze sklepu
-
folderu modułu
poprzez ftp porównaj katalogi override z modułu i ze sklepu
Udało mi się wyłączyć dodatkowe modułu. Pomimo tego dalej występują wspomniane błędy:
"Jest 7 błąd/błędy:
Państwo nie może być załadowane z address->id_country
Nieprawidłowy kraj
id_country jest wymagane.
nazwisko jest wymagane.
imię jest wymagane.
adres1 jest wymagane.
miasto jest wymagane."
W katalogu public_html\override\\modules mam tylko plik index.php
-
Moduły nie tylko w tym katalogu zapisują swoje pliki. Sprawdź cały folder override porównując go z folderem modułu - w nim również powinien być katalog override
-
We wszystkich katalogach w katalogu override mam tylko plik index.php
Wyjątkiem jest katalog ovverride/controllers/admin gdzie jest plik AdminCustomerThreadsController.php:
<?php
/*
* tw
* dodane pola dla recapcha
*
*/
class AdminCustomerThreadsController extends AdminCustomerThreadsControllerCore {
public function __construct() {
parent::__construct();
$this->fields_options['contact']['fields']['PS_CUSTOMER_SERVICE_RECAPTCHA'] = array(
'title' => $this->l('Recaptcha protection'),
'hint' => $this->l('Enable or disable the anti-spam protection recaptcha.'),
'type' => 'bool'
);
$this->fields_options['contact']['fields']['PS_CUSTOMER_SERVICE_RECAPTCHA_SITE_KEY'] = array(
'title' => $this->l('Site key'),
'hint' => $this->l('Site key - recaptcha (https://www.google.com/recaptcha/).'),
'type' => 'text'
);
$this->fields_options['contact']['fields']['PS_CUSTOMER_SERVICE_RECAPTCHA_SECRET_KEY'] = array(
'title' => $this->l('Secret key'),
'hint' => $this->l('Secret key - recaptcha (https://www.google.com/recaptcha/).'),
'type' => 'text'
);
} // ------------------------------------------------------------------------------------------------------ __construct()
}
[b]oraz plik ContactController.php w katalogu ovverride/controllers/admin:[/b]
<?php
/**
* tw
* dodana obsluga recaptcha
*
*/
class ContactController extends ContactControllerCore {
public $recaptcha_on = false;
public $recaptcha_site_key;
public $recaptcha_secret_key;
/**
* tw
* dodana obsluga recaptcha
*
*/
public function __construct() {
parent::__construct();
// --- tw - konfiguracja recaptcha
$this->recaptcha_on = (bool)Configuration::get('PS_CUSTOMER_SERVICE_RECAPTCHA');
$this->recaptcha_site_key = trim(Configuration::get('PS_CUSTOMER_SERVICE_RECAPTCHA_SITE_KEY'));
$this->recaptcha_secret_key = trim(Configuration::get('PS_CUSTOMER_SERVICE_RECAPTCHA_SECRET_KEY'));
$this->context->smarty->assign(array(
'recaptchaON' => $this->recaptcha_on && (bool)$this->recaptcha_site_key && (bool)$this->recaptcha_secret_key,
'recaptchaSiteKey' => $this->recaptcha_site_key,
));
} // -------------------------------------------------------------------------------------------------- __construct()
/**
* tw
* dodana weryfikacja recaptcha
*
*/
public function postProcess() {
if (Tools::isSubmit('submitMessage')) {
if (!$this->recaptchaVerify()) { // weryfikacja recaptcha
$this->errors[] = Tools::displayError('Captcha error');
} else {
parent::postProcess();
}
}
} // -------------------------------------------------------------------------------------------------- postProcess()
/**
* tw
* weryfikacja recaptcha
*
*/
public function recaptchaVerify() {
if (!$this->recaptcha_on) {
return true;
}
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://www.google.com/recaptcha/api/siteverify',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'secret' => $this->recaptcha_secret_key,
'response' => Tools::getValue('g-recaptcha-response'),
'remoteip' => $_SERVER['REMOTE_ADDR']
],
CURLOPT_RETURNTRANSFER => true
]);
$response = curl_exec($curl);
curl_close($curl);
$captcha_success = json_decode($response, true);
return $captcha_success['success'];
} // -------------------------------------------------------------------------------------------------- recaptchaVerify()
}
-
Ewidentnie widzę nadpisanie captcha - widocznie ono powoduję błąd
usuń zmień nazwę pliku na .old i wyczyść cache sklepu
-
Zmieniłem nazwę plików:
ContactController.php i AdminCustomerThreadsController.php
Niestety nie pomogło. Następnie całkiem usunąłem te pliki-i w dalszym ciągu wyskakują błędy.
-
wyczyść cache sklepu folder cache class_index.php
-
Zrobione. Zostawiłem tylko index.php. W dalszym ciągu bez efektu.
-
Czyli dalej gdzieś wisi nadpisanie
-
Jeżeli pliki fizycznie usunięte są z override, cachrle przeczyszczone z poziomu serwera i panelu sklepu to czyli, że nie został wyczyszczony plik class_index, o którym już West wspominał
-
Kiedy wyczyszczę zawartość pliku class_index wtedy strona przestaje działać. Kiedy natomiast go usunę, po jakimś czasie pojawia się na nowo.
-
Znaczy się kiepski serwer. Presta odbudowuje cache ale wydajność maszyny pozostawia wiele do życzenia.
-
Kiedy wyczyszczę zawartość pliku class_index wtedy strona przestaje działać. Kiedy natomiast go usunę, po jakimś czasie pojawia się na nowo.
i poprawnie, jak wyczyscisz i zostawisz to cache głupieje... Pisząc "wyczyszczony" miałem na myśli usuniecie pliku. Plik odnawia się nie "po jakimś czasie" tylko w momencie przelafowania/wgrania strony. Odbudowuje index class, jak mówi sama nazwa pliku.
-
Znaczy się kiepski serwer. Presta odbudowuje cache ale wydajność maszyny pozostawia wiele do życzenia.
Serwer mam na MyDevil.
i poprawnie, jak wyczyscisz i zostawisz to cache głupieje... Pisząc "wyczyszczony" miałem na myśli usuniecie pliku. Plik odnawia się nie "po jakimś czasie" tylko w momencie przelafowania/wgrania strony. Odbudowuje index class, jak mówi sama nazwa pliku.
Po usunięciu index class błędy dalej występują. Czy zakładka Cache na dole strony Parametry zaawansowane->Wydajność powinna być ustawiona na "Tak" czy na "Nie" ?
-
Po usunięciu index class błędy dalej występują. Czy zakładka Cache na dole strony Parametry zaawansowane->Wydajność powinna być ustawiona na "Tak" czy na "Nie" ?
Jeśli mówisz o samym dole tej zakładki to w przypadku serwerów współdzielonych nie
-
No to tak: Usunąłęm wszystko co związane z recaptcha-oprócz nadpisań w katalogu override był jeszcze zmieniony plik contact-form.tpl(podmieniłem na oryginalny plik z instalatora) i dodany plik recaptcha.css(usunąłem). Niestety błędy dalej się pojawiają.
Zastanawia mnie jedna rzecz. Przy przejściu do "realizuj zamówienie" ukazuję sie takie okno:(zdjecie nr1)
Widziałem że u innych pola Adresu Dostawy wyświetalją się dopiero po kliknięciu w "Zakupy bez rejestracji" bądź w "Stwórz Konto".
Jeśli kliknę w "Zakupy bez rejestracji", i wypełnię pola to właśnie wtedy pokaża się wspomniane błedy. Jesli natomiast wypełnię widoczne na zdjeciu pola i kliknę zapisz to wtedy strona na chwilę się zawiesza i nic się nie dzieje. (zdjęcie nr 2)
Dodatkowo, po kliknięciu w "Zakupy bez rejestracji" w polach do wypełnienia jest dodatkowo -adres email- i -nazwa kontaktu: Pan Pani"(zdjęcie nr 3)
Może w tym tkwi problem?
-
Przywróć oryginalne pliki szablonu. Ktoś Ci nieźle namieszał w obecnym szablonie.
-
Nawet wiem kto. Ja sam;) Jak to najszybciej zrobić? Przekopiować cały katalog themes/default_bootstrap z oryginalnej instalacji na serwer?
-
Jeśli nie wiesz to jak najbardziej tak :)
-
Ok, tylko co w takim przypadku z dodanymi produktami, układem strony, zdjęciami, przetłumaczonymi mailami do klientów itp. Wszystko idzie do kosza i zaczynam od początku?
-
tak jeśli nie wiesz jakie pliki dokładnie skopiować lub nie posiadasz dokumentacji zmian.
-
Mam około jedenastu backupów bazy danych(ostatni sprzed 80 dni) tworzonych poprzez:
Parametry zaawansowane->Backup bady danych
Czy przywracanie coraz starszych kopii baz danych, do momentu aż błędy w formularzu przestaną się pojawiać będzie zasadne?
-
Baza danych nie ma z tym nic wspólnego błędy pochodzą z plików tpl / nadpisań
-
Czy jeśli zastąpię aktualny katalog themes/default_bootstrap oryginalnym katalogiem z instalatora to będę miał w przyszłości możliwość powrotu do "starej wersji" sklepu? Ściągnąłem na dysk cały aktualny katalog themes. Czy jeśli wgram go z powrotem na serwer to automatycznie przywrócę starą wersję?
-
Wyexportuj obecny theme, będziesz mial również zachowane moduły itp. jeżeli były zmiany. Później bez problemu powrócisz. A jeszcze lepiej jakbyś przed importem zmienił mu nazwę (również katalogu). Wdesy będziesz mógł wgrać sobie obydwa - defaultowy i własny
-
Dzięki za pomoc. Wgrałem na nowo cały katalog szablonu z oryginalnej instalacji. Błędy powodował moduł activationbymail. Teraz gdy jest włączony, po wpisaniu danych w zakupach jako "gość" powoduje następujący błąd:
"TECHNICAL ERROR: unable to save account Details: Error thrown: [object Object] Text status: parsererror"
Najprościej oczywiście będzie go wyłączyć ale nie znalazłem żadnego innego o podobnym działaniu. Może da się to jakoś naprawić?
-
To może napisz do autora ?
-
Przy okazji wgrania katalogu themes z oryginalnej instalacji wyskoczyły 2 kwiatki widoczne na zdjęciach. Jak sobie z tym poradzić?
-
1. moduł konto klienta - odczep od jednego zaczepu.
2. kraj - opc-new-account
-
1. Czy chodzi o moduł "Konta klientów(Dodaje kartę postępu rejestracji w panelu statystyk)? Użyłem polecenia -odczep- ale nic to nie dało.
2. Rozumiem że chodzi o plik order-opc-new-account? Co konkretnie tam zmienić? Szukałem czegoś w rodzaju style="height:XXpx; font-size: YYpx; ale nie znalazłem
-
od 1 popatrz sobie w zaczepy DisplayTop
od 2. najlepiej wyłącz stany / województwa dla krajów
-
1.
W displayTop mam:
1.Blok prostego wyszukiwania
2.Blok koszyka
3.Górne menu poziome
4.Blok info o użytkowniku
5.Strony nie znalezione
6.Wyszukiwarka słów kluczowych
7.Informacja o ciasteczkach.
Czy chodzi o odczepnie "Blok info o użytkowniku" z poziomu menu Moduły/Pozycje ?
-
Zatem chodzi o punkt 4 - blok info o użytkowniku.