A Joomla! nagyon jó abban, hogy elrejt dolgokat a nyilvánosság elől, majd megjeleníti azokat a felhasználó bejelentkezése után. Azonban mi történik, ha egy modulpozíciót szeretnénk elrejteni például akkor, ha a felhasználó bejelentkezik. Ehhez mindössze pár sornyi kódra van szükség.
A modul elrejtéséhez csupán annyit kell megtudnunk, hogy a felhasználó be van-e jelentkezve. A Joomla! keretrendszer API-jának (ez a neve annak a kódnak, amely a Joomla! oldalt működteti) segítségével könnyen megkaphatjuk ezt az információt. Mindössze annyit kell tennünk, hogy megvizsgáljuk a felhasználó azonosítóját. Ha ez nem nulla, akkor be van jelentkezve. Nézzük hogyan is tehetjük ezt meg.
Nyissuk meg a sablon index.php fájlját, amelynek elérési útja ehhez hasonlóan néz ki:
templates/ja_purity/index.php
Ismernünk kell azt, hogy a Joomla! hogyan jelenít meg egy modulpozíciót (ezek a <jdoc: ... /> tagok). Keressük meg az elrejteni kívánt modulpozíciót, majd helyezzük ebbe a kódba:
<?php // A felhasználó objektumának átadása$user = &JFactory::getUser();
// A felhasználó azonosítójának (id) átadása$userId = $user->get('id');
// Rejtsük el a modulpozíciót, ha a felhasználó be van jelentkezveif ($userId == 0) :
?><jdoc:include type="modules" name="nyilvanos-jog" style="xhtml" />
<?php endif; ?>
Készíthetünk ehhez egy speciális modulpozíciót. A mi esetünkben ennek 'nyilvanos-jog' a neve azért, hogy jelezze csak a nyilvános joggal rendelkező felhasználók számára látható. Amikor a felhasználó bejelentkezik az oldalra, az összes 'nyilvanos-jog' pozícióban lévő modul eltűnik.
Ez egy nagyon egyszerű technika, de komoly hatást érhetünk el vele az oldalalon.
A cikk forrása: The Art of Joomla!