[Drupal 7] Hierarchiczne organizowanie treści w serwisie

Data dodania wpisu: 30-09-2011

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

WordPress started as a blog plfoatrm years ago, but it is more than that right now. We could do many things with wordpress. It is just that how much we can utilize these.
Dzięki wielkie, jak kolega przede mną napisał, bardzo przydatną rzecz opisałeś. Napewno skorzystam, pozdrawiam!
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!
Comments closed...