Press "Enter" to skip to content

Life-hack na kluczowe zmiany parametrów sklepu poprzez bazę danych

Admin 0

Co nam daje zmiana ustawień poprzez MySQL?

Wprowadzenie lub zmiana podstawowych ustawień w sklepie PrestaShop za pomocą bazy danych jest najbardziej efektywne. Pozwala na wykonanie błyskawicznie czynności, która wymaga zalogowania, wyklikania, przeładowania strony itp.

Jeśli zależy Ci na np. szybkim wyłaczeniu sklepu czy to poprzez MySQL czy przez zewnętrzny skrypt lub CRON ponizej znajdziesz jakiego zapytania użyć.

Umieściliśmy tutaj takze inne kluczowe ustawienia, które można szybko zmienić poprzez MySQL.

Jak ustalić adres PhpMyAdmin na Twoim serwerze albo gdzie znaleźć dane do połączenia z MySQL w zależności od wersji PrestaShop znajdziesz np. w tym artykule:

naprawa błędu „zakresy nachodzą na siebie” w Presta Shop

W poniższych zapytaniach stosujemy domyślny prefix dla tabel „ps_” w Twoich zapytaniach użyj ustawionego dla Twojej instalacji PrestaShop.

Zapytania były wykonywane dla sklepu PrestaShop w wersji 1.7.8.8, ale powinny też działać w starszych instalacjach. Nawet 1.6, jak nie starszych.

Wyłączenie sklepu (przerwa techniczna)

Wyłączenie sklepu wykonasz poprzez zapytanie:

UPDATE `ps_configuration` SET `value` = NULL WHERE `name` = 'PS_SHOP_ENABLE';

Natomiast włączenie:

UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_SHOP_ENABLE';

Dodanie wyjątu IP aby można było oglądać sklep mimo jego wyłączenia

 

UPDATE `ps_configuration` SET `value` = '76.42.150.10' WHERE `name` = 'PS_MAINTENANCE_IP';

Jeśli zapytanie zwróci błąd:

0 rows affected. (Query took 0.0002 seconds.)

A wyjątek IP się nie zatwierdzi użyj:

INSERT INTO `ps_configuration`(`id_configuration`, `id_shop_group`, `id_shop`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, NULL, NULL, 'PS_MAINTENANCE_IP', '76.42.150.10', NOW(), NOW());

usunięcie wyjątku dla tego IP:

UPDATE `ps_configuration` SET `value` = '' WHERE `name` = 'PS_MAINTENANCE_IP';

UWAGA! Jeśli już jest dodany wcześniej wyjątek należy go uwzlędnić w zapytaniu. Najlepiej sprawdź to przed modyfikacją poprzez zapytanie:

SELECT * FROM `ps_configuration` WHERE `name` = 'PS_MAINTENANCE_IP';

IP są zapisywane po przecinku czyli np:

UPDATE `ps_configuration` SET `value` = '65.43.250.10,76.42.150.10' WHERE `name` = 'PS_MAINTENANCE_IP';

itd.

Ogólnie wykonujesz w zapytaniu to co zostało opisane w tym artykule:

Czasowe wyłączenie sklepu dla klientów z możliwością oglądania go przez właściciela [Aktualizacja]

Wyłączenie SSL na sklepie

To znajdziesz w tym artykule:

Jak szybko wyłączyć SSL (HTTPS) na sklepie PrestaShop przez bazę danych?

Włączenie trybu katalog (blokada sprzedaży, ale sklep dostępny)

 

UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_CATALOG_MODE';

Wyłączenie trybu katalog:

UPDATE `ps_configuration` SET `value` = 0 WHERE `name` = 'PS_CATALOG_MODE';

Jeśli mają być pokazywane ceny użyj dodatkowo:

UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_CATALOG_MODE_WITH_PRICES';

Jeśli nie:

UPDATE `ps_configuration` SET `value` = 0 WHERE `name` = 'PS_CATALOG_MODE_WITH_PRICES';

Wyłączenie cache

 

UPDATE `ps_configuration` SET `value` = 2 WHERE `name` = 'PS_SMARTY_FORCE_COMPILE';
UPDATE `ps_configuration` SET `value` = NULL WHERE `name` = 'PS_SMARTY_CACHE';

włączenie domyślnego cache:

UPDATE `ps_configuration` SET `value` = 0 WHERE `name` = 'PS_SMARTY_FORCE_COMPILE';
UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_SMARTY_CACHE';

Zmiana głównego adresu e-mail sklepu

 

UPDATE `ps_configuration` SET `value` = 'nowy_email@gmail.com' WHERE `name` = 'PS_SHOP_EMAIL';

Wyłączenie zakupów przez gości

Oznacza to, że bez rejestracji nie będzie można zrobić zamówienia

UPDATE `ps_configuration` SET `value` = NULL WHERE `name` = 'PS_GUEST_CHECKOUT_ENABLED';

włączenie:

UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_GUEST_CHECKOUT_ENABLED';

Włączenie przyjaznych adresów url

 

UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_REWRITING_SETTINGS';

Wyłącznie:

UPDATE `ps_configuration` SET `value` = NULL WHERE `name` = 'PS_REWRITING_SETTINGS';

Uwaga, zmienić należy także plik .htaccess w folderze głównym. Wydaje się, że sama zmiana w SQL nie wystarczy.

Wpis:

# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>

Zmieni się na:

# Images
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^adres-sklepu.pl$
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>

Wyłączenie modułow nie od PrestaShop

UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_DISABLE_NON_NATIVE_MODULE';

ewentualnie:

INSERT INTO `ps_configuration`(`id_configuration`, `id_shop_group`, `id_shop`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, NULL, NULL, 'PS_DISABLE_NON_NATIVE_MODULE', 1, NOW(), NOW());

włączenie:

UPDATE `ps_configuration` SET `value` = NULL WHERE `name` = 'PS_DISABLE_NON_NATIVE_MODULE';

Wyłączenie administratora sklepu o okreslonym mailu

UPDATE `ps_employee` SET `active` = '0' WHERE `ps_employee`.`email` = 'administrator2@moj-sklep.pl';

Włączenie:

UPDATE `ps_employee` SET `active` = '1' WHERE `ps_employee`.`email` = 'administrator2@moj-sklep.pl';

Odblokowanie API PrestaShop:

UPDATE `ps_configuration` SET `value` = 1 WHERE `name` = 'PS_WEBSERVICE';

Jeśli nie ma takiego wpisu (0 rows affected) należy dodać taki wiersz:

INSERT INTO `ps_configuration`(`id_configuration`, `id_shop_group`, `id_shop`, `name`, `value`, `date_add`, `date_upd`) VALUES (NULL, NULL, NULL, 'PS_WEBSERVICE', 1, NOW(), NOW());

Zablokowanie API:

UPDATE `ps_configuration` SET `value` = 0 WHERE `name` = 'PS_WEBSERVICE';

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Po akualizacji sklepu działa tylko pierwsza strona kategorii. Przełączanie na…