W przypadku gdy posiadasz w sklepie setki tysi臋cy produktów i maj膮 one znaczn膮 ilo艣膰 zdj臋膰 mo偶esz doj艣膰 do momentu, w którym ID zdj臋cia przekroczy 7 znaków, czyli b臋dzie wy偶sze ni偶 9999999.
PrestaShop w tym przypadku b臋dzie mia艂a problem z prawid艂owym wygenerowaniem dost臋pu do takiego zdj臋cia.
Czyli je艣li nasze zdj臋cie ma ID np. 10439075 b臋dzie ono widoczne ca艂y czas z panelu administracyjnego sklepu.
Jednak od frontu b臋dzie niewidoczne a dok艂adniej b臋dzie kierowa艂o na nieprawid艂owy adres z b艂臋dem 404.
Problem ten mo偶emy rozwi膮za膰 na 3 sposoby:
- stworzenie prostego modu艂u korzystaj膮cego z hooka actionHtaccessCreate
- przygotowanie overrida klasy Tools
- edycji bezpo艣rednio pliku .htaccess
W tym wpisie zapreznetujemy dwie z podanych metod, sugerujemy skorzystanie z pierwszego sposobu.
Sposób 1 - override funkcji generowania Htaccess
Logujemy si臋 na FTP i przechodzimy do folderu z zawarto艣ci膮 sklepu, nast臋pnie do folderu override/classes/ i tworzymy plik Tools.php, dodajemy w nim:
https://x13.pl/pobierz/Tools-id7.txt
Nast臋pnie musimy wyczy艣ci膰 wydajno艣膰
Wchodzimy w panelu administracyjnym PrestaShop do zak艂adki Parametry zaawansowane -> Wydajno艣膰
Klikamy po prawej Wyczy艣膰 pami臋膰 podr臋czn膮.
Nast臋pnie przechodzimy do zak艂adki Preferencje > Ruch, generujemy nowy plik htaccess poprzez klikni臋cie przycisku Zapisz
Od艣wie偶amy front sklepu i sprawdzamy, czy zdj臋cie wy艣wietlane jest prawid艂owo.
Sposób nr 2 - edycja pliku .htaccess
Logujemy si臋 na FTP, przechodzimy do domeny sklepu i edytujemy plik .htaccess podmieniaj膮c domena.pl na swoj膮 domen臋 :
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} ^domena.pl$
dodajemy pod nim:
RewriteRule ^([0-9])([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/$8/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^domena.pl$
W przypadku wdro偶enia zmiany w taki sposób musi pami臋ta膰 o konieczno艣ci dodania wpisu za ka偶dym razem gdy wygenerujemy nowy plik htaccess.
Od艣wie偶amy front sklepu i sprawdzamy, czy zdj臋cie wy艣wietlane jest prawid艂owo.