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.
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`)"; |