UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Rozwiązania arrow Jak zbudować hierarchię - drzewo artykułów w Joomla! 1.5?
Jak zbudować hierarchię - drzewo artykułów w Joomla! 1.5? Drukuj Email
Redaktor: cerberus   
29.07.2008.

Wstęp 

W artykule „ Jak nadać wiele właściwości – atrybutów (sekcji – kategorii) w artykule Joomla! 1.5?” opisałem jak przypisać dla „jednego” artykułu wiele właściwości - atrybutów (kombinacji sekcja\kategoria). Jednocześnie napisałem, że jako jeden z mankamentów Jommla! 1.5 widzę brak struktury hierarchicznej (drzewa) artykułów. Dziś postaram się opisać jak sobie z tym poradziliśmy. Dodam, że jestem dużym zwolennikiem stosowania rozwiązań jak najbardziej standardowych (Czemu? sporo dyskusji na ten temat jest na naszym blogu).

Rozwiązanie

Prześledźmy przykład. Na naszym portalu jest obszar Jak kupić » Dotacje UE zawierający treści w różnych kategoriach. Jednocześnie mamy specjalną strukturę drzewa dla wszystkich naszych kanałów RSS (Kanały RSS TideSoftware.pl). Struktura części dotyczącej Dotacji UE jest następująca ( w nawiasach opisałem pary naszych sekcji i kategorii):

  • Dotacje UE (Dotacje UE\Ogólne)
    • Regionalne Programy Operacyjne (Dotacje UE \Programy Regionalne)
    • Krajowe Programy Operacyjne (Dotacje UE \Programy Krajowe)

No i teraz wyzwanie. Pokazanie artykułów z programów regionalnych i krajowych, jako osobnych list nie stanowi problemu. Jednak jak te same artykuły jednocześnie pokazać poziom wyżej czyli w Dotacje UE (Uwaga w Joomla! 1.0 było można wybrać kilka kategorii czy sekcji na raz w Joomla! 1.5 już tak nie jest)? Chciałbym aby w pokazały się tu zarówno artykuły z sekcji UE\Ogólne jak i wszystkich podrzędnych (Dotacje UE\Programy Regionalne i Dotacje UE\Programy Krajowe). To pewnie można jeszcze rozwiązać dodatkowymi modułami jednak co jeżeli będę chciał dodać kolejny poziom? Zobaczmy inną część naszego portalu: Baza Wiedzy. Tam struktura jest bardziej skomplikowana (poniżej wycinek):

  • Baza Wiedzy
    • Internet
      • SEO – Pozycjonowanie
      • Strona WWW
    • Systemy informatyczne
      • Joomla!
      • SAP Business One
      • TideSoftware.pl

Chciałbym aby w części Internet pojawiły się zarówno artykuły podpięte do niej bezpośrednio jak i te z SEO – Pozycjonowanie oraz Strona WWW. W Systemy informatyczne tak samo niech będą i te podpięte bezpośrednio i te z Joomla!, SAP Business One oraz TideSoftware.pl. Co więcej, chciałbym aby w części Baza Wiedzy pokazała się zarówno cała treść z Internet (wraz z podkategoriami SEO – Programowanie i Strona WWW) ja i cała treść z Systemy Informatyczne (z podkategoriami). Jakby tego nie było dość, nie chcę zdublowanych treści. Przypominam, że jeden z artykułów ( Jak nadać wiele właściwości – atrybutów (sekcji – kategorii) w artykule Joomla! 1.5?) należy jednocześnie do Systemy informatyczne\Joomla! jak i Internet\Strona WWW.

Nasze rozwiązanie jest następujące. W obszarze Dotacje UE wyświetlamy wszystkie artykuły z sekcją i kategorią DotacjeUE\Ogólne oraz Dotacje UE\Parent. Kategoria Parent w sekcji Dotacje UE jest stworzona specjalnie na potrzeby budowy drzewa treści. Każdy artykuł z grup podrzędnych np. Regionalne Programy Operacyjne należy zarówno do Dotacje UE\Programy Regionalne jak i do Dotacje UE\Parent. W części związanej z Bazą Wiedzy przytaczany artykuł przynależy do sekcji i kategorii:

  • Baza Wiedzy\Parent
    • Internet\Parent
      • Internet\Strona WWW
    • Systemy informatyczne\Parent
      • Systemy informatyczne\Joomla!

Dzięki temu wyświetlając artykuły z Baza Wiedzy\Parent mam i wspomniany artykuł i co więcej mam go tylko raz.
Uwaga: do prawidłowego działania pluginu Include Content Item w kanałach RSS konieczne jest dogranie pluginu Hide Include Content Item i zmiana pliku RSS.php. Wszystko (i sam plugin i opis instalacji) jest tutaj.

PS: Wstawiając ten artykuł zacząłem już używać znacznie bardziej uniwersalny komponent mosmodule.

Zmieniony ( 04.08.2008. )
 
« poprzedni artykuł   następny artykuł »