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
DesignEnd
26-12-2011 22:11
Javjaff
20-12-2011 14:10
Robbert z drupal.pl
08-10-2011 18:19
Dodaj komentarz