Mire jó a ctools + panels + views trió

dj képe

A 2012 Drupalaton és egy fórum kérdés ösztönözte ezt az írást.

A konkrét probléma: hogyan listázzunk ki felhasználókat bizonyos taxonómia kategóriába tartozás szerint ctools, panels és views segítségével Drupal 7 alatt.

Értelemszerűen telepítsük ezeket a modulokat a szokásos módon:
Views
Ctools
Panels

Kapcsoljuk be a Chaos tools, Page manager, Views content panes, Panels, Views, Views UI modulokat.

Ha ezzel megvagyunk akkor kezdjük a munkát. Hozzunk létre egy szótárt (admin/structure/taxonomy/add) "Felhasználó kategória" névvel és legyen a programok által használt neve "user_cat", ez lesz majd a felhasználói profilban felvéve mezőként. Készítsünk néhány kategóriát (admin/structure/taxonomy/user_cat/add) tetszés szerint.

Ezután a felhasználói beállításoknál (admin/config/people/accounts/fields) vegyük fel a mezőt a felhasználóhoz:
Mezőtípus: kifejezés hivatkozás
Név: Kategória
Programok által használt név: field_category
Szótár: Felhasználó kategória

Miután ez is elkészült hozzunk létre néhány teszt felhasználót különböző kategóriákkal, vagy módosítsuk a meglévőket. Így az előkészületekkel meg is volnánk.

Hozzuk létre az oldalunkat ami listázni fogja a megadott kategóriába tartozó felhasználókat. Ehhez a Ctools Page managerét fogjuk használni: admin/structure/pages

Page manager
Adjunk hozzá egy új oldalt ahol a megadott kategóriába tartozó felhasználókat ki fogjuk listázni.
Adjunk nevet az oldalnak és legyen az elérési út: user-list/%taxonomy_term
Így listázható lesz például a teszt1 kategória: user-list/teszt1

Új oldal
Mást itt nem kell beállítanunk, kattintsunk a Folytatás gombra.

Argumentum beállítás
Az előkészített argumentumunkat kell most beállítani, kattintsunk a Változtat gombra.

Argumentum típus kiválasztása
Válasszuk a "Taxonómia kifejezés: ID"-t és kattintsunk a Folytatás gombra.

Az argumentum beállítása
Ha term id-t szeretnénk a linkben használni akkor a Kifejezésazonosítót válasszuk, ha a kifejezés nevét szeretnénk használni akkor értelemszerűen a Kifejezés nevét válasszuk.
Ha csak a létező kifejezésekre akarjuk, hogy megjelenjen az oldal akkor a Limit to these vocabularies kiválasztóknál válasszuk a Felhasználó kategóriát. Ha mindent beállítottunk akkor kattintsunk a Befejezés gombra.

Az argumentum beállítás kész
Beállítottuk az argumentumot mehetünk tovább a Folytatás gombra kattintva.

Panel elrendezés
Ezen az oldalon állíthatjuk be a panel elrendezést. Jelenleg csak listázni akarunk, ezért az egy oszlop is megteszi, de ha komplexebb megjelenést szeretnénk akkor itt lubickolhatunk a lehetőségek között. Ha megvan a megfelelő akkor Folytatás.
A következő oldalak az induláshoz már nem feltétlen szükségesek ezért változtatás nélkül kattinthatunk a Folytatás, majd Befejezés gombokra.
Ha mindent jól csináltunk akkor most az összegző beállító oldalra kerültünk, kattintsunk a Mentés gombra.

Az oldalunk ezzel majdnem kész is van, már csak egy olyan lekérdezést kell gyártanunk ami előállítja a felhasználó listánkat, hogy beilleszthessük az oldalba.

Ehhez készítsünk egy nézetet: admin/structure/views/add

Nézet hozzáadása
Adjunk nevet a nézetnek és válasszuk a felhasználókat, oldalt és blokkot nem készítünk. Ha megvagyunk a beállításokkal akkor tovább a Folytatás és szerkesztés gombra kattintva.

Két dolgot feltétlenül meg kell tennünk:
1. Argumentumot kell létrehozni a Felhasználó kategóriának
2. Környezetet kell kreálni ami átadja az argumentumot a nézetnek

Szövegkörnyezeti szűrő hozzáadás
Kattintsunk a Haladó beállításoknál a SZÖVEGKÖRNYEZETI SZŰRŐK Hozzáadás linkre.

Mező kiválasztás
Válasszuk ki a Kategória mezőt, amit a felhasználóhoz hozzáadtunk.

Nézet elrejtése, ha nincs eredmény
Válasszuk a Nézet elrejtését, ha nincs argumentum, majd kattintsunk az Alkalmazás gombra.

Adjuk hozzá a környezetet.

Környezet hozzáadása
Ezután szerkesszük az argumentum bemenetet.

Argumentum bemenet szerkesztése
Nekünk a panel által biztosított környezetből fog kelleni a kifejezés azonosító, mert a kifejezés nevét átkonvertálta már azonosítóra.

Argumentum bemenet beállítása
Ha megvagyunk, akkor kattintsunk az Alkalmazás gombra.
A megjelenési nevet állítsuk beazonosíthatóra, például "Felhasználó listázása kategória szerint", és a nézetet mentsük el.

Ha mindent jól csináltunk akkor már csak egy dolgunk maradt, a listánkat az oldalhoz adni. Menjünk az oldal szerkesztéséhez (admin/structure/pages megfelelő oldal szerkesztés link) és válasszuk a tartalom fület.

Tartalom hozzáadása
Kattintsunk a fogaskerékre és válasszuk a Tartalom hozzáadáadása linket.

Nézet kiválasztása
Itt válasszuk a Nézetek fület, azon belül az imént létrehozott nézetünket.

Képernyő kiválasztása
Ezen belül pedig a jól beazonosítható képernyőt, majd Folytatás.

Környezet átadás beállítása
Már csak a mezőnket kell beállítani, hogy a megfelelő környezetet adja át a nézetnek, válasszuk a Kifejezésazonosító-t, és a Befejezés gombot.
Mentsük az oldalt a Frissítés és mentés gombra kattintva.

Írjuk be a címsorba domain.név/user-list/kifejezésnév és ha mindent jól csináltunk akkor megkapjuk az óhajtott felhasználó listát.

Az eredeti taxonómia oldal felüldefiniálása

Amennyiben az eredeti taxonomy/term/%taxonomy_term útvonalat akarjuk használni akkor engedélyezzük a rendszer term_view oldalt és csináljuk végig az előző részben leírtakból mindent csak nem új oldalt hozunk létre, hanem szerkesztjük a rendszer term_view oldalt. Ilyenkor útvonalat, argumentumot már nem kell beállítani!

Rendszer term_view szerkesztése
Kattintsunk a Szerkesztés linkre.

Változat létrehozása
Kattintsunk az Új változat hozzáadása linkre.

Változat beállítása
Adjunk nevet a változatnak és pipáljuk be a Választási szabályok checkbox-ot, majd a Változat létrehozása linkre kattintsunk.

Választási szabályok beállítása
Itt a legördülőből a Taxonómia szótár-t válasszuk és a Hozzáadás linkre kattintunk.

Választási szabályok beállítása2
Kiválasztjuk a Felhasználó kategória szótárt és Mentés.

Ha most a Folytatás gombra kattintunk, akkor elérkezünk a panel elrendezése oldalhoz ahonnan folytathatjuk a beállításokat.

Hozzászólások

leonidasz képe

Köszönjük DJ! Remek leírás!

hron84 képe

Nekem csak egy kerdesem lenne: a nezetnel hogy lehet elerni, hogy a "Kornyezet hozzaadasa" megjelenjen? Engedelyezve van a CTools, a Views, a Page manager meg a Panels is, de ilyenem nincs. D7, Views 3, CTools legujabb, meg mindenbol a legujabb....

--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
dj képe

kapcsoltad be a Views content panes modult, ez a ctools csoportban található. Ha angolul vagy akkor Context jelenik meg.

A leírásban ott van:
„Kapcsoljuk be a Chaos tools, Page manager, Views content panes, Panels, Views, Views UI modulokat.”

Üdv!
Dudás József

balays képe

Nagyon jó leírás! Köszönöm! Sokat segített! Teljesen meg tudtam csinálni a felhasználó listákat, stílust is rendeltem hozzá, a listát névjegykártya szerű elrendezésre alakítottam.

A kérdésem:
Hogy tudnám megoldani hogy ez a lista egy panelen belül jelenjen meg???

Balázs