Views2 lista csoportosítása

Boobaa képe

Adott egy (CCK-s) tartalomtípus, benne a törzs mező mellett egy szín mező is (a kötelező címen kívül). Feladatom a következő: listázzuk ki ezen típusú tartalmakat színek szerint csoportosítva; a színek legyenek ábécérendben; egy adott színen belül a tartalmak legyenek címük szerint ábécérendben. A lista tartalmazza a színeket szövegként, de színenként csak egyszer (fejlécsorként); valamint az egyes tartalmak címét rájuk mutató linkként. A táblázatos megjelenítés (illetve bármilyen más, ahol egy adott szín neve egynél többször szerepel a listában) nem elfogadható.

Lehet, hogy triviális a megoldás, de nem jöttem rá, hogyan. Odáig oké, hogy rendezzünk először a szín, és aztán a cím szerint - de hogyan tüntetem el a "felesleges" színfeliratokat, illetve hogyan csinálok a színenként egy megmaradóból "fejlécsort"? A Views Group By modul használata neve ellenére nem célravezető, ugyanis az SQL szinten csinálja a GROUP BY-t, és (ennek megfelelően) aggregálni akar (ráadásul jelenleg csak a SUM() SQL függvény használatával) - azaz ezzel maximum azt tudnám kiírni, hogy egy színhez hány tartalom tartozik.

Felmerül a kérdés, miért nem használok a szín mező helyett taxonómiát - aminek szintén megvan a maga egyszerű oka: a szín megadása kötelező, egy tartalomhoz csak egy színt lehet megadni, ugyanakkor lehessen megadni olyan színt is, amilyen még nem szerepel a rendszerben. (Végignéztem gyakorlatilag az összes olyan d6-os modult, melynek nevében szerepel a taxonomy kifejezés. A probléma megoldásához legközelebb talán a Content Taxonomy és a Taxonomy Super Select álltak; előbbinél fázok tőle, hogy CCK mezőben is el akarja tárolni a kifejezést; utóbbi meg mintha csak a kifejezés kiválasztására szolgáló widget megjelenítésében hozna változást.)

Merre haladjak tovább? Van-e erre valami "kész" megoldás, vagy muszáj lesz kódot írnom rá? Ha ez utóbbi, hogyan lehetne ezt a kódot úgy megírni, hogy másnak is hasznára váljon (pl. Views2 pluginként)?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Bálint képe

Ha a Basic Settings-ben a kiválasztott stílus beállításait megnézed, alapból van egy olyan opció, hogy Grouping field.
Fel kell venned a Mezők közé a szín meződet is, majd beállítani azt, hogy "Exclude from display", hogy ne jelenítse meg. Aztán ezt a mezőt adod meg a Grouping field-nél.

Itt teljesen mindegy, hogy taxonómiát használsz, vagy nem, de szerintem jobb lenne a taxonómia címkézéssel. Így ha elkezdi gépelni a szín nevét a felhasználó, akkor már kidobná neki. Az egyetlen hátránya ennek a többszörös választás, de a te megoldásoddal meg fennáll az a veszély, hogy elírja a szín nevét (persze itt is megteheti), és akkor az külön group lesz.

0
0
Boobaa képe

Nem is értem, hogy nem szúrta ki a szemem...

0
0