belefaradtam a keresgelesbe, mar vagy 4 oraja ×$ߤ>&#{<đ|ä\í]*!%
hogyan tudok egy custom content type-on, CCK-val letrehozott, field tartalmat megjeleniteni az aktualis oldal egyik block-jaban?
tahat:
- drupal 5.7
- CCK 5.x-1.6-1
- Content Templates 5.x-1.8
content type: review
custom field: banner
probaltam igy:
letrehoztam egy "banner" block-ot.
Block body:
global $node; return $node->banner;
Block body:
print showbanner()
Show block on specific pages:(*) Show if the following PHP code returns TRUE (PHP-mode, experts only).
global $node; if ($node->type == 'review'){ return TRUE; }
Show block on specific pages:
(*) Show on only the listed pages.
review/*
template.php-ban:
function showbanner(){ global $node; return $node->banner; }
majd ezz innen takaritottam, admin/content/types/review/template oldalon [*] Affect body output
function showbanner(){ return $node->banner; }
logikusabb megoltas nem megy enyi pocsoles utan.. segitsetek kerlek!
Fórum:
Mit akarsz?
nézted egyáltalán, hogy a $node-nak van-e értéke???
ha egy adott node nézetekor szeretnéd az adott node banner értékét megjeleníteni egy blokkban akkor kb:
Persze nem tudom mi van a banner változóban...;)
pp
kódolok sörért póló nem lesz?
Palócz István
https://palocz.hu | https://tanarurkerem.hu
global $node;
NULL :( miert? nemertem!?
42
A $node a tpl.php
A $node a tpl.php sminkfájlokban használható. A page.tpl.php-ban nem (tudtommal).
És itt sem global változóként, hanem alapból megkapja a fájl a $node-ot.
----------------------------------------------
Léterhozol egy blokkot, a tartalmi rész beviteli formáját átállítod PHP-ra. Majd beírod az alábbi kódsort:
...mit tudok: http://web.termuves.hu
$nid=1,
$nid=1, $node->content['field_banner'] tartalma:
banner block tartalma:
eredmeny:
megprobaltam a block.tpl.php-ban is igy:
es eredmeny semmi!!!
42
Bővebb magyarázat
A $node objektum nem létezik mindenütt és mindenkor szemben a $user objektummal.
A következő a feladat:
"hogyan tudok egy custom content type-on, CCK-val letrehozott, field tartalmat megjeleniteni az aktualis oldal egyik block-jaban?"
az aktuális oldal egyik blokkjában szeretnéd megjeleníteni a tartalom egy szeletét. Tehát amikor az útvonal node/nid pl.: node/23 ekkor a 23. node jelenik meg.
A fent írt kis php szkript azt csinálja, hogy megnézi, hogy az útvonal első eleme 'node'-e Ekkor még simán lehet, hogy az alapértelmezett címlapot (?q=node) nézzük, tehát meg kell nézni, hogy az útvonal második eleme (arg(1)) szám-e. Ha mind ez igaz, akkor éppen egy node-ot nézünk. Ekkor ezt be kell tölteni node_load és mér lehet is csinálni vele azt amit akarsz. Ha nem tudod mi van benne akkor
drpal_set_message('<pre>'. print_r($node,true) .'<pre>')
Természetesen, ha egyszerre több node-ot nézünk akkor ez a módszer nem használható.
Remélem így már érthető!
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
if(arg(0)=='node'..
koszi.. de ez a modszer azert nem mukodik, mert maszkolva vannak az url-k, es nem lat moge.
42
de megy az
Ha ezt a path modullal teszed akkor megnyugtatlak, hogy működik. Tehát ha az útvonal álnévvel hiába feded el az arg(x) az eredeti Drupal útvonalat adja vissza.
pp
(legalább próbáld ki ;))
Palócz István
https://palocz.hu | https://tanarurkerem.hu
path modul, arg(x) megsem megy
kiprobaltam, mivel en is igy gondoltam.. es pathauto modullal, tehat effektiv a path modullal vannak generalva.. es megsem.. tehat valami mas gond is leledzik..
ui:.. mar a domain is el: www.iCode4Beer.com ;) koszi..
42
ez több mint érdekes
ugyanis még a $_GET['q'] változót is átírja a Drupal...
Hozz létre egy blokkot és Tedd bele a következő kódot:
Feltettem a token-t és a pathautot létrehoztam egy tartalmat proba néven
url: content/proba
a blokkban a következő látszik
node/15
node
15
Szóval valamit nem úgy csinálsz a hogy én...
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
PHP-code field nem mukodik!
hoppa.. megvan a problema.. nem hajlando futtatni semmilyen php kodot ami a PHP-code Input format-ban van felveve? mi tortenhetett?
Drupal 5.6
MySQL 4.1.11
PHP Version 4.3.10-22
Apache 2.0 Handler
edit:
es megis.. vagy mi? mar semmit nem ertek!?
42
block tartalom cck_field-bol, megoldva:
#1
a review contentemhez CCK-val hozzaadok egy banner field-et.
a template-ben (Content Template modul) a body aljara befuzom:
letrehozom a banner block-ot,
(*) Show on only the listed pages.
review/*
igy az osszes /review oldalon, megjelenik a review content-ben felvett field_banner tartalma.
#2
utobb rajotem, hogy csunyan mellenyultam, ugyanis en mind a $node->field_banner['value'];-t akartam kiiratni, mikozben a $node->field_banner[0]['value'];-t kellett volna!
es ime:
banner block tartalom:
a kerdes, h vajon melyik a gyorsabb es szerverkimelobb megoldas?
42