Joomlas moduler i samspil med komponenter

Moduler i Joomla er en dejlig simpel og fleksibel måde at præsentere indhold på. De er lette at udvikle, og kan flyttes rundt på siden efter behov.

Ofte når man udvikler dine egne komponenter, vil man også gerne kunne præsentere komponentens data på siden i moduler, og heldigvis er det intet problem at få de to udvidelsestyper til at arbejde sammen.

Har du f.eks. et komponent med navnet com_test, kan du uden videre tilgå komponentens indstillinger fra dit modul:

$params = JComponentHelper::getParams( 'com_test' );
$en_indstilling = $params->get('en_indstilling');

Dette giver selvsagt gode muligheder for at præsentere dine komponentdata i modulet præcis som du ønsker det.

Databaseopslag i komponentens data kan ligeledes ske ligesom normalt, ligesom det endda er muligt at arbejde med komponentens modeller direkte i modulet.

Indsæt modulet i dit komponent

Det er også muligt at indsætte ethvert modul i dit eget komponent. Der hvor du vil have det placeret i din layoutfil (f.eks. com_temp/views/etview/tmpl/default.php) indsættes:

jimport('joomla.application.module.helper');
$modul = JModuleHelper::getModule('modulnavn');
echo JModuleHelper::renderModule($modul);

Indsæt modulet i en artikel

Du kan også indsætte et modul i en enkelt artikel i Joomla. Dette gøres ved først at tildele modulet sin egen position. I stedet for de normale “left”, “right” osv., indtastes en ikke-eksisterende position, f.eks. “i-artikel-1”.

I artiklen indsættes blot følgende linje:

 {loadposition i-artikel-1}

Og modulet vil nu blive indsat på det pågældende plads i artiklen. Bemærk at dette kræver at “Load Module”-udvidelsen (plugin) er aktiveret.

Som man kan se, er moduler yderst fleksible at arbejde med.

VN:F [1.9.22_1171]
Rating: 4.0/5 (1 vote cast)
Joomlas moduler i samspil med komponenter, 4.0 out of 5 based on 1 rating

Forfatter: Lars Mogensen

Webudvikler hos Webitall

Her tænker du på “Joomlas moduler i samspil med komponenter”

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Time limit is exhausted. Please reload CAPTCHA.