[Drupal 7] Hierarchiczne organizowanie treści w serwisie

Ile to razy zmagaliście się z problemem, jak tu hierarchicznie zorganizować treść w serwisie, jaki sposób obrać i w jaki sposób wreszcie to wszystko wyświetlić? NodeHierarchy pomaga rozwiązać ten problem w banalny sposób :)

 

Moduł, dajcie mi moduł

Na poczatęk będziemy potrzebowali w modułu NodeHierarchy.

Po zainstalowaniu modułu, w formularzu edycji Rodzaju Zawartości otrzymujemy nową zakładkę "Node Hierarchy" - załóżmy, ze będziemy mieli hierarchicznie zorganizowaną ofertę w swoim serwisie. Zatem przechodzimy do edycji Rodzaju Zawartości "Oferta" i w zakładce "Node Hierarchy" zaznaczamy checkbox z rodzajem zawartości, który będziemy przydzielać w hierarchii (w tym wypadku również zaznaczamy rodzaj "Oferta").

 

 

Dodajemy nowy wpis

Od tej pory, podczas dodawania nowej strony typu "Oferta" możemy w banalny sposób organizować treści na zasadzie rodzic-dziecko (w formularzu dodawania nowego wpisu ta opcja hierarchii jest pod taką samą zakładką: Node Hierarchy.

 

 

Zatem podczas dodawania nowego wpisu możemy wybrać, który wpis jest wpisem nadrzędnym (rodzicem) dla dodawanej podstrony, oraz czy nowa podstrona ma wyświetlać listę swoich "dzieci" - ta druga opcja z kolei jest dostępna dzięki Widokowi (Views) - nodehierarchy_children_list, dostępnemu po zainstalowaniu modułu. Oczywiście, widok możemy modyfikować (zmieniać wyświetlane pola itp - domyślnie wyświetlana jest tylko lista tytułów).

 

A co z hierarchią adresów URL?

Node Hierarchy udostępnia token (Wzorzec Podstawiania): [node:nodehierarchy:parent:url:path] dzięki któremu każdy nowy wpis w hierarchi będzie posiadał adres zgodny z hierarchią zagnieżdżenia - wystarczy jako symbol podmiany dla rodzaju zawartości "Oferta" wpisać: [node:nodehierarchy:parent:url:path]/[node:title]

 

Mamy buga. I musimy się go szybko pozbyć ;)

MODUŁ (wersja 7.x-2.x-dev) POSIADA BUGI - które zpatchowałem ;) Zatem tutaj dostępna jest aktualizacja pliku nodehierarchy.module - który po instalacji moduł zalecam podmienić - w innym wypadku podczas dodawania treści będą wywalały na ekran błędy od indeksach tablic i nie będzie możliwości sortowania drzewa menu. W tym pliku te błedy są już poprawione.

 

Finał?

Wynikiem całego działania, otrzymujemy strony, na których możemy standardowo wprowadzać treść (body) przydzieloną do tej podstrony i inne pola, a poniżej treści mamy listę wszystkich wpisów podrzędnych (jeden poziom niżej w hierarchii) i tak dalej (głębiej), aż do ostatniego poziomu zagnieżdżenia :) Warto wspomnieć jeszcze o tym, że dla każdej hierarchii w serwisie (np. hierachicznie zorganizowane galerie zdjęć), możemy przygotować inny widok, dzięki czemu jedna strona może mieć listing swoich "dzieci" w formie pionowej listy wpisów, a druga w formie siatki (grid) ;)

 

Zainteresowani mogą również obejrzeć podcast autorstwa MusterdSeed na ten sam temat ;)

 

Pozdrawiam i życzę bezproblemowego budowania drzewa hierarchii treści w Waszych serwisach :)

 

EDIT 11.10.2011

Tak, jak poniżej w komentarzu napisał Robbert, hierarchia w galeriach zdjęć z użyciem tego modułu pozwala na niezłe uproszczenie realizacji takiego założenia :)

 

Dodatkowo przetestowałem moduł na żywym organiźmie pod kątem użyteczności w stronach wielojęzycznych - bez problemu. Jedyny niuans, to fakt, że lista stron do ustawienia jako "nadrzędna" nie jest zawężana do aktualnej translacji wpisu. Gdzieś między wierszami przewinął mi się nawet ten bug w liście Bugów modułu na drupal.org, nie został jeszcze poprawiony, a ja niestety aktualnie nie mam czasu grzebać w module i patchować - ten problem w każdym razie w niczym nie przeszkadza, jedynie może sprawić mniejszy, bądź większy problem, jeśli nasze drzewo hierarchii dla danego typu zawartości przekracza ludzki rozsądek ;)

Komentarze

Ja się nigdy nie nudzę;) Czasami mam po prostu dość roboty i odrywam się tworząc własne dziwne rzeczy ;)
Czasami mam wrażenie; że nudzisz się w domu; ale przynajmniej piszesz sensownie :D
Bardzo przydatna rzecz. W odniesieniu do galerii staje się maszyną, która wszystko ładnie nam porządkuje. Jestem pod wrażeniem tutoriala i poprawki do modułu. Dzięki!!! Polecam innym użytkownikom!

Dodaj komentarz

Mollom CAPTCHA