search check home clock-o tag tags chevron-left chevron-right chevron-up chevron-down twitter facebook github rss comment comments terminal code

[Joomla!] Porady odnośnie struktury szablonu dla CMS Joomla!

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.

  1. <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.

  2. <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.

  3. Jeśli chcemy wykorzystać zmianę struktury szablonu zależnie od wyświetlanego komponentu Joomla! możemy zastosować następujący kod.

  4. 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".

  5. $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ć.

  6. $id = JRequest::getVar('id');
    if(( $id == 40 OR $id == 45 ) &amp;&amp; JRequest::getVar('view') == 'category' &amp;&amp; JRequest::getVar('layout') == 'blog' )) { ... }

    Taki zapis odnosi się do widoku na kategorie z wpisami na bazie blogu

  7. <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.

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.

  • Krystian

    artykuł średni, mam pytanie bedziesz coś pisał do joomla 1.6?

  • do Joomla! 1.6 będę miał zamiar pisać w momencie gdy wyjdzie już przynajmniej wersja RC, bo póki co Joomla! jest na etapie wersji alpha, czyli jeszcze wiele może się zmienić.