--=REKLAMA=--
Aby zdefiniować własną ramkę modułu w swoim szablonie, musisz w katalogu swojego szablonu stworzyć plik nazwany modules.php. Na przykład może to być sciezka_do_Joomla/templates/nazwa_szablonu/html/modules.php.
W pliku tym definiujesz funkcję nazwaną modChrome_STYLE
, gdzie 'STYLE
' to nazwa twojej własnej ramki modułu. Funkcja będzie posiadać trzy argumenty $module
, &$params
, oraz &$attribs
, jak widać:
<?php function modChrome_STYLE( $module, &$params, &$attribs ) { /* tutaj kod PHP generujący wynikowy kod HTML modułu*/ } ?>
Wewnątrz tej funkcji można zastosować każdą z dostępnych własności modułów (np. pola z tabeli jos_modules
w bazie danych Joomla! na twoim serwerze) dla tego modułu, ale przede wszystkim będziesz potrzebować $module->content
, $module->showtitle
oraz $module->title
.
$module->showtitle
jest zmienną typu Boolean, tak więc może być ustawiona true (gdy tytuł modułu będzie wyświetlany) albo false (kiedy nie będzie wyświetlany), $module->content
oraz $module->title
zwrócą główną treść modułu i odpowiednio tytuł modułu.
Ta funkcja jest zwykłą funkcją PHP i korzystamy w niej ze zwykłego kodu PHP. Jeden elementarny przykład może użyć instrukcji if
do sprawdzenia wartości $module->showtitle
oraz umieszczenie bądź nie - zależnie od wyniku - tytułu
<?php if ($module->showtitle) { echo '<h2>' .$module->title .'</h2>'; } ?>
Dostęp do parametrów modułu uzyskiwany jest za pomocą obiektu $params
. Na przykład, możliwe jest, aby przypisać Przyrostek klas modułu w edytorze własności modułu na zapleczu Twojej witryny Joomla!; to wartość ta jest przechowywana w parametrach modułu jako moduleclass_sfx
. Aby stworzyć <div>
z klasą określoną przez przyrostek klasy modułu, możesz użyć:
<div class="<?php echo $params->get( 'moduleclass_sfx' ); ?>"> <!-- div contents --> </div>