VirtueMart gyorsitása

Válasz

A Virtuemart egy kiváló webárúház komponens, de sajnos ez sem tökéletes.
Az áruház noha indexelve teszi be a termékeket az adatbázisba, kereséskor mégsem használja az indexelést, és ezáltal a találatok megjelenítése lényegesen több időt vesz igénybe. Ez pár terméket tartalmazó oldalnál, nem igazán észrevehető, de ha több mondjuk ezer terméket tartalmazó áruházúnk van ott már a lassulás mértéke másodpercekben mérhető.
Miért is gond ez: A mai emberek már nem szeretnek várni, és nagy valószínűséggel egy lassú oldalon pár kattintás után megunják a böngészést, még akkor is ha az ott kínált termékeket érdekesnek is találnák. tehát érdemes ezt az egy percet oldalunkra szánni, elvégre a pénztárcánk bánhatja.


A következő képen látható mit is jelent ez a gyakorlatban. A zölddel színezett rész a lecserélt kóddal történő betöltődési időt mutatja. Látható hogy sok esetben több mint a felére esett az oldalak betöltődési ideje, 5-7 mp.-ről elfogadható 2-3 mp.-re.


Mi két megoldást is kinálunk a hiba javitására:

  • Az első és egyszerübb:
    Töltsd le ezt a fájlt:     Csomagold ki, majd FTP-n belépve keresd meg a következő fájlt:
    ..\administrator\components\com_virtuemart\html\shop_browse_queries.php  majd írd felül a kicsomagolttal.

    (érdemes az eredeti fájlt átnevezni mondjuk shop_browse_queries_eredeti.php -re, hogy ha netán mégsem müködne rendessen az oldal visza tudjuk állitani az eredeti fájlt)

  • A másik megoldás a kézzel történő modositás:
    Keressük meg a  administrator\components\com_virtuemart\html\shop_browse_queries.php fájlt,
    majd nyissuk meg szerkesztésre, és a fenti kódot cseréljük le az alsó kódra.

Régi kód:

 $where_clause[] =  "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id`  OR `#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_parent_id`)";

Új kód:

 $where_clause[] =  "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id`)";


Kategória