Üdv,
CCK-val létrehoztam 2 tartalom tipust:
- Csapat
- Versenyző
Létrehozok egy csapatot. Létrehozok több versenyzőt, melyekben node_reference megadásánál tudok hivatkozni az adott csapatra.
Views-zal tudok is csinálni olyan lekérdezést, hogy az xy csapat tagjait listázza ki. A tartalom tipus hozzáadásánál lehetőség van a már definiált views-ok kiválasztására. De ebben az esetben minden csapatra külön-külön views-t kellene létrehoznom. Van arra lehetőség, hogy egy változót behelyettesítve gyüjtse le, hogy kik tartoznak az adott csapatba?
Köszi, Pali
Fórum:
nem értem
Én nem értem a kérdést. Konkrétan itt akadtam el:
Milyen tartalomtípusról van itt szó? Egy újabbat szeretnél létrehozni a meglévő Csapat és Versenyző mellé? Vagy esetleg tartalom hozzáadásáról beszélünk? (Tartalom és tartalomtípus – ez 2 különböző dolog. Pl. a 'blog bejegyzés' az egy tartalomtípus, az 1234. számú node pedig egy 'blog bejegyzés' típusú tartalom.)
sokkal egyszerűbb
...csak nem tudtam rendesen leírni :(
2 tartalom tipusról van szó:
- csapat
- versenyző
Létrehoztam 3 node-ot (tartalmat :) :
- Piros csapat
- Körte versenyző
- Barack versenyző
A versenyzők felvitelekor, megadtam, hogy ők a Piros csapat tagjai. De szeretném a piros csapat megtekintésekor a csapathoz tartozó versenyzőket is kilistázni. Ez megy is, mert csinálok rá egy viewst, és a csapat tipusú tartalomnál lehet views mezőt is hozzáadni. Csakhogy nem lehet álltalánosítani.
Azt szeretném elérni, hogy egy views-sal ki tudjam listázni mindig az aktuálisan kiválasztott csapat tagjait.
Vagyis:
Piros csapat: körte, barack
Kék csapat: alma, répa
Sárga csapat: citrom, stb.
Nem tudom, hogy így érthetőbb-e már.
Nagyon elméletben arra tippelek, hogy a views theme wizard-dal létre kellene hoznom a nézetet, a csapat tartalom tipusának theme függvényébe ezt beilleszteni, és a keresési feltételhez pedig megadni az aktuális csapat azonosítóját... Vagy valami hasonló...
Kösz, Pali
--
Palócz Paal Pál, a drupal.hu admin csoportjának tagja
Ajánlott olvasmány: Eric Steven Raymond - Hogyan kérdezzünk okosan
nézet beágyazása törzsbe
Szia,
Közben elszállt a laptopom amire CCK-s Drupal fel volt téve, de most visszaszállt, úgyhogy: egy kicsit körülményes, de meg lehet csinálni.
1. Létrehozod a Csapat tartalomtípust, felviszed a csapat node-okat (node/1, node/2, stb.)
2. Létrehozod a Versenyző tartalomtípust, benne node_reference a csapat számára, felviszed a versenyző node-okat (node/3, node/4), minden versenyzőhöz hozzárendelve a csapat node, amelyiknek ő a tagja.
3. Készítesz egy nézetet, ami a www.akarmi.hu/csapat URL-en lesz elérhető. Az argumentumoknál megadod a Node Reference: Csapat (field_csapat) argumentum típust, és a Summary, unsorted opciót választod. A szűrők között a szokásos Node Published -> Equals: Yes, valamint Node: Type -> Is One Of: Versenyző.
Ezzel lényegében megmondtuk a Views-nak, hogy készítsen listát azokból a versenyző node-okból, amelyek rendelkeznek field_csapat nevű CCK-s mezővel. Ha nem kap argumentumot az URL-ben (pl. a www.akarmi.hu/csapat) címen, akkor készít egy összesített listát:
... ahol a csapatnevek a csapatok tagjait kilistázó oldalakra mutató linkek, a zárójelben pedig azt mutatja, hogy hány csapattag van az adott csapatban. Tehát ez egy csapat összesítő oldal, amiről tovább mehetünk az egyes csapatok oldalára. A csapatok oldala a www.akarmi.hu/csapat/1 címen van, ahol az 1 a csapat node azonosítójából jön (node/1, node/2, stb.). Ez nem egy túl jó oldal, mert csak listáz és nem tudunk további információkat adni hozzá. Helyette inkább a csapat node-okat (node/1, node/2) kell egy kicsit felturbózni úgy, hogy a törzs részbe beszúrjuk a fent létrehozott csapat nézetünket:
Lehet, hogy nagyon bonyolultan írtam le? Tehát a lényeg, hogy létrehozunk egy Csapat nézetet, de ezt önmagában nem használjuk (hacsak nem pont a nézet által létrehozott bénácska listázó oldalakra van szükségünk), hanem a nézetet beágyazzuk a csapat node-okba úgy, hogy mindig átadjuk neki argumentumként a kilistázandó csapat node id-jét (ami történetesen azonos az éppen megjelenítendő node id-jével).