Webes feladatok

+ Egyedi weboldal készítése
+ Webáruház készítése
+ Domain, tárhely intézés

... bővebben

Joomla weboldalak

+ Adminisztráció
+ Egyedi modulok, komponensek
+ Kinézet (template) készítés
+ Problémamegoldás

... bővebben

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ése

Egyszer 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, Nyelv

A 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én

Termé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']