10 najczęstszych problemów z konfiguracją PrestaShop i ich rozwiązania
PrestaShop to koszyk zakupowy typu open source, np. każdy, kto zna PHP, MySQL i CSS, może wprowadzać w nim zmiany, aby dostosować go do własnych celów. PrestaShop został uruchomiony w 2007 roku, a teraz jego najnowsza wersja 1.7x jest użyteczna w sklepach e-commerce. Użytkownicy zgłaszają, że wersja 1.7x nadal nie jest stabilna w porównaniu do 1.6x, tzn. użytkownicy napotykają błędy i pomyłki podczas konfiguracji i dostosowywania. Dlatego też, będąc renomowaną firmą w PrestaShop, FMEModules zawsze zaleca swoim klientom pozostanie przy wersji 1.6x, dopóki do wersji 1.7x nie zostanie dodana większa stabilność.
Nasz dzisiejszy post skupia się na rozwiązywaniu problemów z konfiguracją PrestaShop w celu uzyskania różnych funkcjonalności w PrestaShop. Być może masz ten sam problem i rozwiązanie tego samouczka może ci pomóc jak urok. Tak więc podano tutaj Top 5 PrestaShop Configuration Issues and their Solution;
Pytanie nr 1: Cześć, chcę wiedzieć, jakie są sposoby włączania raportowania błędów w trybie debugowania dla różnych wersji PrestaShop?
Odpowiedź: W przypadku PrestaShop 1.7 przejdź do Advanced Parameters > Wydajność i włącz.
Dla PrestaShop 1.5.3-1.6 otwórz plik: config/defines.inc.php (używając FTP lub panelu sterowania hostingiem)
zmień false-->true:
define('_PS_MODE_DEV_',false);
define('_PS_MODE_DEV_',true);
Dla PrestaShop 1.4-1.5.3
- otwórz plik: config/config.inc.php (używając FTP lub panelu sterowania hostingiem)
- zmień wyłączone -->on
@ini_set('display_errors','off');
@ini_set('display_errors','on');
Uwaga:
- Po zakończeniu nie zapomnij wyłączyć tej opcji.
- Lepiej sprawdzić błędy, logując się do obszaru hostingu i sprawdzając tam dziennik błędów PHP
- Musisz użyć programu FTP, aby włączyć raportowanie błędów PrestaShop
Pytanie nr 2: Cześć, używam PrestaShop 1.5.3.1 i chcę znaleźć adresy e-mail klientów, którzy kupili jakiś produkt w moim sklepie. Jakie zapytanie SQL muszę uruchomić w tym przypadku?
Odpowiedź: Możesz uruchomić to zapytanie w dowolnym miejscu w bazie danych
SELECT C.email FROM ps_customer C
INNER JOIN ps_orders O on C.id_customer = O.id_customer
INNER JOIN ps_order_detail OD on O.id_order = OD.id_order
WHERE OD.product_id =3
Zmień identyfikator produktu zgodnie z posiadanymi przez Ciebie produktami na liście, tj. użyj tego identyfikatora, którego adres e-mail chcesz sprawdzić. To zapytanie po prostu zwróci Ci identyfikator klienta, który kupił ten produkt. Ponadto, jeśli chcesz znaleźć adresy e-mail klientów, którzy kupili inne produkty, możesz użyć w tym celu polecenia IN w następujący sposób;
SELECT C.email FROM ps_customer C
INNER JOIN ps_orders O on C.id_customer = O.id_customer
INNER JOIN ps_order_detail OD on O.id_order = OD.id_order
WHERE OD.product_id IN (3,45,47,94,102)
Pytanie nr 3: Cześć, przesłałem plik CSV ze zdjęciami, a pliki ze zdjęciami mają bardzo duże rozmiary. Myślę, że PrestaShop zapisuje te pliki gdzie indziej w swojej bazie danych. Czy mogę usunąć pliki obrazów o dużych rozmiarach, aby nie spowalniały serwera witryny?
Odpowiedź: Tak, masz rację, że PrestaShop zapisuje te pliki po przesłaniu ich przez Ciebie za pośrednictwem pliku CSV. Możesz więc usunąć te pliki z serwera. Jeśli jednak chcesz zmienić rozmiary obrazów, nie będzie to możliwe po usunięciu.
Pytanie nr 4: Cześć, próbuję przesłać pliki CSV obrazów i podać adres Dropbox w polach obrazów, ponieważ chcę przesyłać obrazy z Dropboxa. To nie pomaga mi w przesyłaniu plików obrazów. Pomóż mi, gdzie przesłać adres, aby pomóc w imporcie obrazu w formacie CSV?
Odpowiedź: Musisz uzyskać bezpośredni link do obrazu z Dropboxa. Tak, musisz wkleić adres w polu obrazu. Wystarczy dodać &raw=1 na końcu linku Dropbox, a to zadziała.
Pytanie nr 5: Cześć, chcę zmienić mój sklep na multistore. Czy mogę użyć „udostępniania dostępnych ilości” bez resetowania ilości produktów do zera.
Odpowiedź: Tak, możesz to zrobić za pomocą prostej modyfikacji. Tylko musisz zmienić funkcję resetowania classes/stock/StockAvailable.php na:
public static function resetProductFromStockAvailableByShopGroup(ShopGroup $shop_group)
{
if ($shop_group->share_stock)
{
$shop_list = Shop::getShops(false, $shop_group->id, true);
if (liczba($shop_list) > 0) {
$id_shops_list = implode(', ', $shop_list);
return Db::getInstance()->execute('AKTUALIZUJ '._DB_PREFIX_.'stock_available SET id_shop=0,id_shop_group=1 GDZIE id_shop_group=0');
} } else {
return Db::getInstance()->execute('AKTUALIZUJ '._DB_PREFIX_.'stock_available SET id_shop=0,id_shop_group=1 GDZIE id_shop_group=0');
działa z PS 1.6
Pytanie nr 6: Cześć, konfiguruję mój nowy sklep. Próbowałem dokonać zakupu testowego, zalogowałem się jako klient i wysłałem zamówienie. Użyłem formularza kontaktowego i użyłem identyfikatora zamówienia i produktu. Ale gdy otrzymałem e-mail na adres administratora, zawierał on tylko informacje o adresie e-mail klienta i wiadomość. Jak mogę uzyskać pełne informacje?
Odpowiedź: Miałem ten sam problem z 1.5. Aby to naprawić:
- Przejdź do /mails/en/.
- Otwórz contact.html, contact.txt, contact_form.html i contact_form.txt.
- Dodaj id_order} w miejscu, w którym chcesz umieścić odniesienie do zamówienia.
Pytanie nr 7: Cześć, chcę dodać wiadomość klienta, którą wysyła przy kasie, do dowodu dostawy w formacie PDF.
Odpowiedź: Musisz użyć klasy message. Poniższy kod w klasie wiadomości pomoże zwrócić wiadomość w liście przewozowym.
$result =Message::getMessagesByOrderId($order->id)
Pytanie nr 8: Cześć, jestem nowy w PrestaShop i chcę edytować pasek nawigacyjny w PrestaShop 1.7, np. dodawać lub usuwać menu i podmenu.
Odpowiedź: przejdź do modułów > modułów > zainstalowanych modułów, a znajdziesz moduł „wtmegamenu”, który jest pomocny w zarządzaniu menu nawigacyjnym. Aby zmienić nazwy elementów menu, musisz przejść do Przejdź do katalogu -> Kategorie i tam dokonać przepisywania.
Pytanie nr 9: Cześć, zainstalowałem mapowanie obrazów w moim sklepie i użyłem dodatkowego menu dla wersji 1.6. Zmapowałem obraz z produktem. Kiedy przechodzę do kategorii, najeżdżam na nią kursorem, a link pojawia się jako wyskakujące okienko, ale nie otwiera się po kliknięciu lewym przyciskiem myszy. Jednak klikam prawym przyciskiem myszy i otwieram go na nowej stronie, działa. Jak rozwiązać ten problem?
Odpowiedź: Musisz przełączyć opcję „fopen” z „off” na „on” w skryptach php na serwerze. Znajdziesz to w ustawieniach swojego serwera hostingu.
Pytanie nr 10: Cześć, chcę dodać linię pod nazwą sklepu. Jak to jest możliwe?
Odpowiedź: Jest to możliwe poprzez edycję kodu PHP w klasie AddressFormat.
Uwaga: Na te pytania odpowiadają najlepsi programiści społeczności i nie odzwierciedlają one modułów FMEModules.