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.