Kívánság: csak a kiválasztott mezők megjelenítése a hivatkozott node-ból

thamas képe

English version.

A CCK modulcsomag egyik eleme a Node Reference modul, aminek segítségével egy node-ban olyan mezőt hozhatunk létre, ami egy másik node-ot jelenít meg. A hivatkozott node négyféleképpen jelenhet meg: csak a címe (linkként, vagy link nélkül) illetve bevezető nézet vagy teljes nézet változatban.

Mivel azonban a CCK-nak köszönhetően egy tartalomtípus számos mezőt tartalmazhat, hasznos lenne, ha kiválaszthatnánk, ezek közül mit jelenítsen meg a node reference. Erre több megoldás is létezik, de igazán egyszerűt, „kattingatósat” nem találtam. :o( Nézzük, mik a lehetőségeink!

A szükségtelen tartalmi elemeket „eltüntethetjük” (pontosabban: nem jelenítjük meg) sminkeléssel. Erről például a Drupal Multimedia könyvben olvashatunk, a videókról szóló részben.

A Node Reference formatters modul számos megjelenítési lehetőséggel egészíti ki a Node Reference-t, de ha egyedileg szeretnénk meghatározni a megjelenítendő mezőket, ugyancsak a smink kódjában kell dolgoznunk.

Kódolni nem csak a sminkben lehet: megfelelő PHP ismeret birtokában használhatjuk a Computed Field modult is.

Közelít az elvárásokhoz a Node reference views modul, itt már nem kell kódolni, csak a megfelelő nézetet beállítani. De ez egyszerűbb esetekre kicsit tulsúlyos megoldásnak tűnik.

De minek is mindez? Hiszen némi keresgéléssel rátalálhatunk a nekünk készített célmodulra, amit úgy hívnak, hogy Field reference. Nos azért, mert a Field Reference fejlesztése nem tűnik kimondottan aktívnak: az első és egyben utolsó verzió Drupal 5-höz készült.

Mi lenne szerintem az ideális megoldás? A Node Reference megjelenésének beállításainál lenne egy „egyedi” választási lehetőség - erre kattintva láthatóvá válnának a kiválasztott tartalomtípus mezői, amik közül jelölőnégyzetekkel határozhatnánk meg, mi látszódjon.

Ennyi. Elképzelni egyszerű. Megvalósítani bizonyára nem az.

(Megjegyzés: a hivatkozott modulokat nem próbáltam ki működés közben, a témában való keresés eredményeként akadtam rájuk!)