A template file-ban eléred a $node objektumot, és azon keresztül mezőnként a cck tartalmakat. Ha engedélyezed a devel modult, és kiadod a template-ben a dpm($node) parancsot, át tudod nézni, milyen formában tartalmazza a $node ezeket az adatokat .
...hogy ott kell alkotni valamit, de meg csak most ismerkedek az elofeldolgozoval, ugyhogy a modjat egyelore nem nagyon tudom...
a gyari sminkneve_preprocess_node() fuggvenyt kapcsoljam be, vagy mast?!
egy egyszeru szemlelteto peldatol szerintem megvilagosodnek :) (zent hasznalok)
a.
a preprocess függvényben egy változót tudsz létrehozni értékkel, amit aztán megjeleníthetsz a template-ben.
ha pontosabban leírod, mit akarsz, akkor többet tudok segíteni.
a node megjelenítésekor két cck mező között akarsz valamit megjeleníteni scriptből? mit csinál a script? mit állít elő?
Több módja is van. Ha tudnánk, milyen kódot akarsz beszúrni, könnyebben adnánk megfelelő tanácsot.
Egy lehetőség mindenesetre az is, ha egy saját modul hook_nodeapi() függvényében a "view" esetnél hozzáadod a kívánt dolgokat a node objektumhoz a megfelelő weight-tel ellátva.
a kovetkezo a helyzet:
van egy tartalomtipusom ami tartalmaz tobb cck mezot is, de a lenyeg, hogy ket mezo koze kene beszurnom egy nezetet, amit a node.tpl.php-ban igy meghivva mukodik is:
print views_embed_view('calendar1', 'calendar_block_1', $node->nid);
A problema ott van, hogy ezt itt csak a $content ele vagy utan tudom berakni. A hozzaszolasokat atnezve kulonbozo temakbol addig jutottam, hogy a template.php-val kellene eloallitani a modositott $content tartalmat, amibe belekerulne a fenti kod, de meg nem tudom hogyan megy ez a gyakorlatban...
a.
ez utóbbit nem mind mi írtuk persze (halleluja;) hanem az originált (lelestük a devel_themerrel) kimásoltuk a cck/theme mappából és csak kicsit írtunk hozzá, ezt a rész:
ez az általános megoldás minden cck meződ mögé odapakolja majd az "ezt most varrtam ide" sztringet. próbáljuk ki, hogy így már meg tudod e csinálni, hogy csak az egyik mezőhöz varrjon hozzá. (vagy ha megmondod a pontos mezőneveket és nézetnevet, idt, megírom neked a pontos kódot is, de abból keveset tanulsz;)
Eddig mukodik, minden mezo utan odavarta a sztinget!
Arra gondoltam, hogy a content-field.tpl -t atirom content-field-sajatmezom.tpl -re, de nem jott be. Ilyenkor a template.php-ban a fuggveny nevet is at kell irni egyedire?
Lassan de biztosan, elobb utobb kesz lesz ;) egyebkent eddig is tok sokat tanultam Toletek! Koszi!
mukodik, az eredeti content-field.tpl -nek is ott kell lenni a smink konyvtarban, ezen mindig elcsuszok, de most mar csak megtanulom :)
amugy ez a megoldas, vagy kodbol is lehet?
a.
1. viewfield ami ugye a kattintgatós felület(gyanítom van olyan lehetőség, hogy az adott node, – amibe beszúrtad a nézetet – legyen az argumentum)
2. smink amit Boros Preprocess Ádám mutatott be
3. Lehet még a hook_nodapi hookjában view opjában is a $content változóba beletenni azt amit akarsz megfelelő súllyal, a viewfiled is ezt csinálja.
4. írsz saját cck mezőt, ami felesleges, hisz van viewfield
5. stb
Még 1, és szerintem a legegyszerűbb: views_attach, ezzel a block és page nézethez hasonlóan nézettípust tudsz létrehozni, paraméterezni, hogy honnan szedje az argumentumokat, melyik nodetype, milyen bulid modeján jelenjen meg. És a cck mezőknél lehet ugyanúgy húzigálni a becsatolt nézetet
0
0
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
A template file-ban eléred a
A template file-ban eléred a $node objektumot, és azon keresztül mezőnként a cck tartalmakat. Ha engedélyezed a devel modult, és kiadod a template-ben a dpm($node) parancsot, át tudod nézni, milyen formában tartalmazza a $node ezeket az adatokat .
sejtettem...
...hogy ott kell alkotni valamit, de meg csak most ismerkedek az elofeldolgozoval, ugyhogy a modjat egyelore nem nagyon tudom...
a gyari sminkneve_preprocess_node() fuggvenyt kapcsoljam be, vagy mast?!
egy egyszeru szemlelteto peldatol szerintem megvilagosodnek :) (zent hasznalok)
a.
a preprocess függvényben egy
a preprocess függvényben egy változót tudsz létrehozni értékkel, amit aztán megjeleníthetsz a template-ben.
ha pontosabban leírod, mit akarsz, akkor többet tudok segíteni.
a node megjelenítésekor két cck mező között akarsz valamit megjeleníteni scriptből? mit csinál a script? mit állít elő?
kicsit bővebben
Több módja is van. Ha tudnánk, milyen kódot akarsz beszúrni, könnyebben adnánk megfelelő tanácsot.
Egy lehetőség mindenesetre az is, ha egy saját modul hook_nodeapi() függvényében a "view" esetnél hozzáadod a kívánt dolgokat a node objektumhoz a megfelelő weight-tel ellátva.
--
Csonka Gergely
http://cheppers.com
egesz pontosan...
a kovetkezo a helyzet:
van egy tartalomtipusom ami tartalmaz tobb cck mezot is, de a lenyeg, hogy ket mezo koze kene beszurnom egy nezetet, amit a node.tpl.php-ban igy meghivva mukodik is:
print views_embed_view('calendar1', 'calendar_block_1', $node->nid);
A problema ott van, hogy ezt itt csak a $content ele vagy utan tudom berakni. A hozzaszolasokat atnezve kulonbozo temakbol addig jutottam, hogy a template.php-val kellene eloallitani a modositott $content tartalmat, amibe belekerulne a fenti kod, de meg nem tudom hogyan megy ez a gyakorlatban...
a.
viewfield
A Viewfield modul segítségével egy view tartalmát be lehet szúrni CCK mezőként.
http://drupal.org/project/viewfield
--
Csonka Gergely
http://cheppers.com
ez azert nem jo, mert..
..a teaserben is meg kell hogy jelenjen, es igy nem kapja meg a nezet a argumentumkent a node azonositot, csak ha kezzel hivom meg.
sajnos
az első mező tartalma mögé varrd a nézet
azt csinálnám, hogy az egyik mező előfeldolgozójába pakolnám a mező tartalmához.
http://img.skitch.com/20101122-mt8hjx59drctgrbc1jppxrgty6.jpg
nagy vonalakban ez úgy néz ki, hogy a sminkedben van:
template.php
content-field.tpl.php:
ez utóbbit nem mind mi írtuk persze (halleluja;) hanem az originált (lelestük a devel_themerrel) kimásoltuk a cck/theme mappából és csak kicsit írtunk hozzá, ezt a rész:
ez az általános megoldás minden cck meződ mögé odapakolja majd az "ezt most varrtam ide" sztringet. próbáljuk ki, hogy így már meg tudod e csinálni, hogy csak az egyik mezőhöz varrjon hozzá. (vagy ha megmondod a pontos mezőneveket és nézetnevet, idt, megírom neked a pontos kódot is, de abból keveset tanulsz;)
-
clear: both;
haladok... :)
Eddig mukodik, minden mezo utan odavarta a sztinget!
Arra gondoltam, hogy a content-field.tpl -t atirom content-field-sajatmezom.tpl -re, de nem jott be. Ilyenkor a template.php-ban a fuggveny nevet is at kell irni egyedire?
Lassan de biztosan, elobb utobb kesz lesz ;) egyebkent eddig is tok sokat tanultam Toletek! Koszi!
megis...
mukodik, az eredeti content-field.tpl -nek is ott kell lenni a smink konyvtarban, ezen mindig elcsuszok, de most mar csak megtanulom :)
amugy ez a megoldas, vagy kodbol is lehet?
a.
1. viewfield ami ugye a
1. viewfield ami ugye a kattintgatós felület(gyanítom van olyan lehetőség, hogy az adott node, – amibe beszúrtad a nézetet – legyen az argumentum)
2. smink amit Boros Preprocess Ádám mutatott be
3. Lehet még a hook_nodapi hookjában view opjában is a $content változóba beletenni azt amit akarsz megfelelő súllyal, a viewfiled is ezt csinálja.
4. írsz saját cck mezőt, ami felesleges, hisz van viewfield
5. stb
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Még 1, és szerintem a
Még 1, és szerintem a legegyszerűbb: views_attach, ezzel a block és page nézethez hasonlóan nézettípust tudsz létrehozni, paraméterezni, hogy honnan szedje az argumentumokat, melyik nodetype, milyen bulid modeján jelenjen meg. És a cck mezőknél lehet ugyanúgy húzigálni a becsatolt nézetet
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.