Cache Smarty w PrestaShop, nie rób tego błędu!

Cache Smarty w PrestaShop to z jakiegoś powodu nadal temat sporów pomiędzy developerami zajmującymi się tym systemem. Przez wiele lat pracy z PrestaShop spotykałem się z różnymi opiniami w jaki sposób go ustawiać.

Przypomnę, że w Zaawansowane -> Wydajność -> Ustawienia dotyczące Smarty -> Kompilacja szablonu (Dla PrestaShop 8.1), mamy trzy ustawienia:

  1. Nigdy nie kompiluj ponownie plików szablonu.
  2. Skompiluj ponownie szablony jeżeli pliki zostały zaktualizowane.
  3. Wymuś kompilację

Często z tych trzech opcji rekomenduje się wykorzystanie drugiej, czyli kompilacje plików szablonu gdy zostały zmienione jego pliku. Dlaczego? W zasadzie nie wiadomo. Słyszałem, że to dlatego, że jak dokonamy zmian w back office to, np. nie odświeżą się nam ceny produktów czy informacje o nich na froncie sklepu. Nie jest to jednak prawda. Każde zdarzenie modyfikacji elementów jak produkt czy kategoria powinno wyzwolić wyczyszczenie pamięci podręcznej konkretnych modułów, np. modułu polecanych produktów na stronie głównej.

Ten artykuł ma na celu stwierdzenie jasno faktu, że w serwisie produkcyjnym nie ma żadnego sensu ustawiać opcje inną niż „Nigdy nie kompiluj ponownie plików szablonu.”. Każde inne rozwiązanie będzie mniej wydajne. Co innego oczywiście w środowisku testowym/developerskim.

Dodam również, że w niektórych specyficznych sytuacjach obserwowanie plików pod kątem ich modyfikacji może drastycznie spowolnić ładowanie się frontu sklepu co obserwowałem konsultując realizację modułów niektórych firm pracujących z PrestaShop.

Pamiętajcie również oczywiście na posiadaniu włączonej pamięci podręcznej, tam również warto ustawić by „Wyczyść pamięć podręczną za każdym razem kiedy coś zostanie zmienione” bo w przeciwnym razie faktycznie zmiany wykonywane w panelu zarządzania sklepem nie będą widoczne dla odwiedzających. (Tak, zdaje sobie sprawę, że czasami warto czyścić pamięć podręczną tylko na żądanie, szczególnie w sklepach o zwiększonym ruchu gdzie czyszczenie pamięci podręcznej prowadzone jest w inny sposób :-))

Udostępnij

Zobacz inne