Selektywne ładowanie komponentów w Joomla 1.5
Większość serwisów składa się z wielu stron na których mogą być prezentowane dane różnego typu. Najczęściej nie wiemy jak zareaguje użytkownik wchodząc na naszą stronę – które ze wspomnianych stron odwiedzi. W zależności od typu zawartości możemy chcieć ładować różne dodatkowe elementy – arkusze stylów css (np. do forum, galerii, katalogu) czy też skrypty. Aby uniknąć robienia tego zawsze możemy sprawdzać typ użytkownika (zarejestrowany lub gość) oraz np. wyświetlany komponent. W tym celu w pliku index.php
templatki umieszczamy warunki:
Warunek sprawdzający ładowany komponent (przykład z ładowaniem pliku css
komponentu forum ccboard
)
<?php
if ((JRequest::getVar('option')=='com_ccboard'))
echo('baseurl. '/templates/astrosun/css/ccboard.css" type="text/css" />')
?>
Warunek sprawdzający typ użytkownika (w przykładzie wyłączone jest ładowanie wszystkich skryptów domyślnie dodawanych przez Joomla, a wykorzystywany tylko przez niektóre komponenty oraz w panelu administratora)
<?php
$user =& JFactory::getUser();
$headerstuff = $this->getHeadData();
$headerstuff['scripts'] = array();
if (($user->get('guest') == 1)) {
$this->setHeadData($headerstuff);
}
if (($user->usertype == 'Registered')) {
$this->setHeadData($headerstuff);
}
?>