Joomla tudásmorzsák |
| 2009. augusztus 03. hétfő, 11:36 |
|
Egy olyan bejegyzést közlök, amiben közelmúltban felfedezett Joomla fejlesztéssel kapcsolatos apróságokat írok le. Megkönnyítheti a munkát és én sem felejtem így el. Virtuemart, Kosár áthelyezése és automatikus frissítéseEgyszer a Virtuemart piszkálása során át kellett írnom teljesen a megjelenítő modult. A kosár is máshova került természetesen, így a megjelenítő kódot másoltam át először, majd kipróbáltam, de nem frissítette automatikusan a cart tartalmát. A megoldás az volt, hogy a körülölelő elemnek a vmCartModule osztálynevet kellett adni. Egy termék hozzáadása során ennek tartalmát újragenerálja a komponens. Külön fejfájást okozhat IE6/7 alatt, hogy az attribútummal rendelkező divnek mindenképpen lefoglalják a weboldalon a helyet, ha van benne valami tartalom, ha nincs. Ha üres a kosár, akkor a két ÜRES divet (Termék és termékszám) floatolja két oldalra, így egy horizontális design-ban magasabbra tolja szét a körülölelő elemet. A megoldás az, hogy állítunk neki fix magasságot. Fuck IE. A másolandó kód: $_SESSION['vmMiniCart'] = true; include (PAGEPATH.'shop.basket_short.php');
Joomla, Template, Modulátírás, NyelvA login modul megjelenítését írtam át template-ből, szükségem volt egy Joomla szövegre a com_user nyelvi fájljából. Alapvetően csak az éppen érintett komponensek, modulok segítő fájljai töltődnek be, így nem tudta értelmezni az én általam lekért nyelvi konstanst. Egy másik programrész nyelvi konstansait a következő módon lehet bekérni: $lang =& Jfactory::getLanguage(); $lang->load('com_user'); echo JText::_('REGISTRATION');
Termék információ elérése Virtuemart termékoldal eseténTermék röplap oldalon meg kell jeleníteni a termékhez kapcsolódó egyéni modult. Mit tenne ilyenkor az ember? Általában a product_id GET paraméter felhasználásal adatbázis lekérést végez. De minek az adatbázishoz nyúlni, amikor megvan GLOBALS-ban a kellő információ? Minden VM oldal esetében temérdek infó elérhető globálisan. Sokszor kellő adatok: $GLOBALS['product_info'], $GLOBALS['category_info'], $GLOBALS['vendor_info'] |