Gyakori PrestaShop hibák és javításaik

A Prestashop felépítéséből adódóan vannak vissza-visszatérő hibák amelyek jellemzők a motorra, és ha a környezet adott akkor meg is mutatják magukat.

Ezekből kívánok összeállítani egy általános listát segítségül hívva a Magyar Prestashop Facebook Csoportban és a Prestashop.Com fórumban szerzett tapasztalataimat.

Első és legfontosabb: szinte mindegyik hibajelenség felismeréséhez és megszüntetéséhez szükségünk lesz a developer módra, melyről ITT írtam korábban.

  • “suhosin.post.max_vars/suhosin.request.max_vars” vagy gyakrabban: “max_input_vars” probléma a fordításoknál

    max_input_vars_prestashop

    suhosin_korlat_prestashop

    “A szolgáltatód a Suhosin PHP javítást használja, ami korlátozza az űrlapon belüli mezők számát 1000 suhosin.post.max_vars., 1000 suhosin.request.max_vars.”

    A fent említett kétféle (illetve 3) hibaüzenet a szóban forgó változók értékeiről beszélnek a szerverbeállításokat definiáló “php.ini” fájlban a szerveren.
    A legtöbb osztott tárhelyes megoldásnál nincs beleszólásunk, a szolgáltatótól kell segítséget kérni ez ügyben. Le kell írni a hibaüzenetet és kérni őket, hogy emeljék meg xy értékre.
    Ezt vagy megteszik, vagy nem – legtöbb helyen igen, de ha mégsem akkor gondolkozzunk el a szolgáltatóváltáson. Ha már itt elcsúszik az együttműködés akkor később problémákra lehet számítani.

    Alternatívák, más megoldások melyek egyes szolgáltatóknál/szervereknél (beállítástól függően) működhetnek:

    – A legtöbb mai szolgáltató ad adminisztrációs felületet a tárhely kezelésére (CPANEL, PLESK stb). Ezeknél szokott lenni “php.ini” beállítás, ahol legtöbbször definiálni tudjuk a fenti változók értékét tetszés szerint.

    – Egyes szolgáltatók engedélyezik a saját php.ini fájl használatát a szerveren. Ebben az esetben (vagy kipróbálási jelleggel) töltsd le ezt a php.ini-t, tedd bele az admin könyvtárad gyökerébe FTP-n keresztül és nézd meg, hogy megoldotta-e a problémát.

    – HTACCESS-es megoldás: szintén ugyanaz vonatkozik erre, mint az előzőre: egyes szolgáltatók engedélyezik, hogy ekképp befolyásold ezt az értéket. Nyisd meg a gyökérkönyvtárban lévő “.htaccess” fájlt, és a végére biggyeszd be: “php_value max_input_vars 10000“. Ezek után próba.

    – Az indexes megoldás: nyisd meg a gyökérkönyvtáradban lévő “index.php“-t, és illeszd be az elejére: “ini_set('max_input_vars', 10000);” vagy:
    ini_set('suhosin.post.max_vars', 10000);
    ini_set('suhosin.request.max_vars', 10000);
    természetesen attól függően, hogy melyikre van szükséged.

    Ellenőrzés: a legbiztosabb forrás, ha a próbálkozások után egy phpinfo()-val kérdezed le a szerver aktuális beállításait. Ezt a fájlt letöltheted INNEN is. Töltsd fel a gyökérkönyvtáradba, majd hívd meg a böngészőből (http://valami.hu/phpinfo.php). Miután betöltött, a rengeteg érték között keress rá (CTRL + F) a “max_input_vars“-ra vagy a suhosin.post.max_vars/suhosin.request.max_vars-ra attól függően, melyiket akartad állítani.

  • Nem látni a kódban történt változásokat

    Prestashop telepítése után a cache/gyorsítótár beállításai bekapcsolt állapotban maradnak, ez okozza legtöbb esetben a gondot. Ellenőrizd ezeket a pontokat:
    Admin => Advanced Parameters => Performance/Teljesítmény:

    prestashop_advanced_parameters_teljesitmeny

    A “Gyorsítótár” legyen kikapcsolt állapotban. Ez után a jobb felső sarokban lévő “Gyorsítótár ürítése” gombra kattintva dobd ki a felesleges cache fájlokat. Extrém helyzetben szükség lehet ezeken felül a saját böngésződben is törölni a cache-t (előzményeket): ezt a CTRL + SHIFT + DEL billentyűkombinációval tudod megtenni. Minden időszak legyen kijelölve!
    Ha vannak elmentett jelszavaid akkor azokat ne pipáld be, mert törli a rendszer.

  • class_index.php

    Ha esetleg költözés után, új controller/class törlése vagy felvétele után, esetleg csak “úgy” elhasal a shop látszólag ok nélkül akkor érdemes megtekinteni a “/cache/class_index.php” fájlt. Ez a php tartalmazza a controller-eket és class-okat. Ha ez a fájl megsérül, vagy rosszul építődik fel, akkor a hiányzó/rossz php-k miatt nem fog betöltődni a shop.

    Megoldásként egyszerűen nevezzük át a fájlt (teszem azt “class_indexE.php“-re, jelezvén, hogy az az eredeti), hogy legyen mentésünk. Ha ez kész, frissítsünk rá a shopra: a motor érzékeli, hogy nincs “class_index.php” fájl és a meglévő controller-ekből és class-okból létrehozza az újat, ami jó eséllyel megoldja a problémát.

  • Modul módosítás után nem látszik változás a front részen

    Gyakran előfordul egy-egy modul .tpl-beli, .css-beli vagy .js-beli változtatása után, hogy a módosítás nem látszik a bolt front részén. Ennek legtöbbször az az oka (természetesen a cache ellenőrzése után), hogy a gyökérbeli /modules/ könyvtárat használjuk, nem pedig azt a /modules/ könyvtárat ami a használatban lévő téma könyvtárában van: /themes/hasznaltsablon/modules/… .

    Miért van két különböző helyen látszólag ugyanaz? A válasz egyszerű: számos sablon kinézetét és működését nem csak .css szinten szükséges átírni. Példának okáért létrehozok egy zöld, szögletes szegélyű templatet amibe formailag nem illik bele a keresőmodul (blocksearch) “keresés” gombja, így ki akarom venni.

    Ebben az esetben .tpl fájlba is bele kell nyúlnom annak érdekében, hogy úgy nézzen ki és úgy működjön a sablonom ahogyan én azt megálmodtam. Ennek tükrében tehát a témán belüli /modules/ könyvtárban helyezem el a módosított keresőmodul .tpl fájlját, így nem lesz gond a későbbiekben az esetleges sablonváltással (mivel az eredeti helyén, a gyökérbeli /modules/ könyvtárban lévő .tpl-t nem bántottam).

 

Ha segített a cikk, meghívhatsz egy kávéra! 🙂


Puizl Attila Programozó

Az íróról: Puizl Attila

Puizl Attila vagyok, több éve készítek sikeres Webáruházakat Prestashop rendszerrel. Célom hogy a tudásom minőséggé, munkám pedig eredményessé váljon.

Weboldal: → Prestashop Készítés és Fejlesztés

Még megtalálsz:

A Dublin Core Metadata Initiative (DCMI = Dublin Core Metaadat Kezdeményezés) egy egyfajta metaadat, mely segít a forrás beazonosításában. Hivatalos oldala a dublincore.org . És mivel metaadatról van szó, így számunkra is érdekes SEO szempontból. Története 1995-be nyúlik vissza, ennél pontosabban pedig Dublin-ba (Ohio állam), ahol is jelölőnyelv-szakértők, különböző tartalomszolgáltatók, digitális könyvtárak…
Hamarosan letölthető állapotban lesz az új generáció: a Prestashop 1.7-es verziója! Ha követted a Prestashop hírfolyamát a szociális csatornákon akkor minden bizonnyal hallottál már az új 1.7-ről. Mik változtak benne? Mik az újdonságok? Egy kis kedvcsináló videó (angol): Fontos frissítések és újítások jönnek az 1.7-el Ha egyetlen szóval kellene összefoglalni…