[Joomla!] Porady odnośnie struktury szablonu dla CMS Joomla!
This post is 16 years old. Browsers and tools may have changed since then, so check the code against current documentation before you use it.
W dzisiejszym artykule omówię kilka kwestii projektowania szablonów dla systemu CMS Joomla! 1.5.
Dotyczą one znaczników, których Joomla! używa do wstawiania różnych modułów w szablonie.
Example 1PHP <div><jdoc :include type="component" /></div>
Przeznaczony jest do wstawiania do szablonu treści strony, to znaczy różnego rodzaju widoku artykułów, kategorii, galerii zdjęć. Ogólnie rzecz biorąc, w tym miejscu się pojawia treść strony, ale nie moduły.
Example 2PHP <div><jdoc :include type="modules" name="user1" style="xhtml" /></div>
Przeznaczony jest do wstawiania pozycji modułów do szablonu strony. W takie miejsca można wstawiać na przykład moduł koszyka, systemy menu, najnowsze wiadomości, itd., itp.
Należy tez wspomnieć, że atrybut style może mieć inne wartości na przykład chrome czy table.
Chrome służy do oznaczania nietypowych stylów modułów, zdefiniowanych przez projektanta szablonu.
Table oznacza moduł zbudowany na bazie tabeli, a styl xhtml oznacza moduł beztabelkowy.
Dodatkowo są dostępne opcje: none, horz, rounded, outline.
Example 3PHP if (JRequest::getVar('option') == 'com_virtuemart') { ... }
Taki kod może zmienić wygląd strony zależnie od wyświetlonego komponentu. W tym przypadku mamy do czynienia z komponentem Virtuemart. W przypadku widoku na stronę startową (główną) wpisujemy: "com_frontpage".
Example 4PHP $id = JRequest::getVar('id'); if(( $id == 46 ) && JRequest::getVar('view') == 'article') { ... }
Taki zapis pozwala zmienić strukturę szablonu zależnie od artykułu.
ID artykułu można pozyskać z kreatora linków menu na zapleczu strony.
Należy pamiętać, aby najpierw stworzyć taki link w jakimś menu zanim zaczniemy się do niego odnosić.
Example 5PHP $id = JRequest::getVar('id'); if(( $id == 40 OR $id == 45 ) && JRequest::getVar('view') == 'category' && JRequest::getVar('layout') == 'blog' )) { ... }
Taki zapis odnosi się do widoku na kategorie z wpisami na bazie blogu
Example 6PHP <div><jdoc :include type="module" name="search" /></div>
Taki zapis pozwala nam wstawić w daną pozycję na stronie moduł konkretnego typu. W tym przypadku mamy moduł wyszukiwarki (mod_search). Na podobnej podstawie można wstawiać innego rodzaju moduły.
Jeśli chcemy wykorzystać zmianę struktury szablonu zależnie od wyświetlanego komponentu Joomla! możemy zastosować następujący kod.
Zdaję sobie sprawę z tego, że to jest tylko część możliwości tworzenia instrukcji warunkowych dla szablonów Joomla! 1.5, ale już dzięki tym kilku instrukcjom możecie tworzyć naprawdę zaawansowane szablony.