Dziś w serwisie GoldenLine na grupie użytkowników systemu Joomla pojawiło się pytanie:
Czy jest możliwość aby artykuły pojawiające się na stronie głównej lub w blogu sekcji, wyświetlały się w odmiennych stylach zależnych od przypisanym im kategorii?
Tak, jest bardzo prosty sposób, żeby to osiągnąć. Dla przykładu serwis internetowy zbudowany na Joomla, w którym zastosowałem to rozwiązanie: http://www.zapytajpolozna.pl. Na stronie głównej widać wyraźnie listę artykułów. Każdy z tych artykułów posiada indywidualne kolory określające do której kategorii przynależy.
Żeby to osiągnąć, wystarczy zastosować poniższy kod:
<?php echo $this->item->catid; ?>
w override szablonu Joomla (override to technika nadpisywania domyślnych szablonów w Joomla własnymi. Każdy, kto zajmuje się poważniej systemem Joomla, powinien wiedzieć o co chodzi).
Idźmy dalej, kod, który pomoże nam wyróżnić artykuły z poszczególnych kategorii, już znamy. Teraz gdzie go zastosować?
Przykładowo można dołożyć powyższy kod w pliku odpowiedzialnym za nadpisywanie strony głównej w Joomla (frontpage):
/templates/templatka-joomla/html/com_content/frontpage/default_item.php
Można to zrobić poprzez umieszczenie zawartości pliku w dodatkowym kontenerze DIV:
<div class="kategoria-<?php echo $this->item->catid; ?>"> zawartość pliku default_item.php </div>
Od tej pory każdy artykuł będzie posiadał dodatkową klasę CSS z przyrostkiem będącym ID kategorii, do której należy (.kategoria-ID). Po tej modyfikacji pozostanie nadanie naszym artykułom wyglądu w arkuszu CSS naszej templatki.
Rozwiązanie działa w Joomla! 1.5.
Poniższy kod powinien działać również w Joomla! 2.5 i Joomla! 3.x:
<?php echo $this->item->catid; ?>