Konkrét node *.tpl.php -ja

gyuri2012 képe

Az 1041-es node-nak külön tpl.php file-t szeretnék létrehozni, ami különbözik a node.tpl.php-től, vagy a node-tartalomtipusa.tpl.php -tól.
Milyen file névvel kell létrehozni, vagy hogy oldható meg a dolog?

Fórum: 
gyuri2012 képe

Ott egy page-el csinálom, kiindulás a page.tpl.php, amit átmásolok page-node-1043.tpl.php néven, aztán átírom.
Itt viszont a node.tpl.php -ból kellene kiindulni nem?
node-1041.tpl.php nem működik...
Vagy nem értem....
Mit nem értek? :)

story tartalomtípus különben, és míg a többi storynál kiiratom a dátumon, title-t a node-story.tpl.php-ban, addig ennél az egy storynál nem szeretém ezeket kiiratni, viszont mást igen.

...és mint node listázom view-kban, beágyazom page-be.., ezért nem jó megoldás a page-node-1041.tpl.php
Szerintem..., de hogy hogyan lehetne akkor...

0
0
crt képe

Szia.

Készítesz egy node-story.tpl.php-t és:

if ($node->nid != '1043') {
 print "dátum, title és egyéb érdekességek...";
}

Esetleg ha több ilyen oldal is lesz, célszerű egy tömbben tárolni őket és úgy ellenőrizni.

Üdv: Zoli

0
0
gyuri2012 képe

Köszönöm!
Úgy csináltam ahogy írtad. Lehetett volna még ezért az egy node kedvéért külön tartalomtípust csinálni, ill. ami spec kinézet, ott node-onként egyet, de még mindig ez a szebb megoldás.

Viszont miért van az hogy nem lehet node-x.tpl.php -kkal egy-egy node-ot sminkelni?
Számomra logikátlannak tűnik, mivel page-node-x.tpl-php -t lehet.
...és hát praktikus is lenne.
De biztos megvan az oka..., miért?

0
0
Pasqualle képe

az lenne a tippem, hogy nem praktikus ezert nincs ilyen funkcio. A node-oknak legalabb tipusonkent egyforman kellene kineznie.. Ha valakinek megis ez kell, nagyon egyszeruen megvalosithato..

egy erdekes "altalanos" modul tartalom sminkelesre: http://drupal.org/project/custompage ami a te kerdesedre keres megoldast..

0
0
crt képe

Az egyik, hogy a node-tipus.tpl.php valahogy így néz ki:

if (file_exists($theme_path.'/node-tipus-'.$node->nid.'.tpl.php') {
 include($theme_path.'/node-tipus-'.$node->nid.'.tpl.php');
}
else {
 include($theme_path.'/node-tipus-default.tpl.php');
}

Így bármelyik node-nak saját template fájlt tudsz készíteni a page-hez hasonlóan. Hátránya, hogy nagy látogatottságnál nő a terhelés a sok fájlművelet miatt.

A másik esetben a template_preprocess_node() függvényben a $variables['template_files'] tömbbel lehet valamit kezdeni, ez tűnik jobb megoldásnak, de nem mélyedtem el még benne.

Üdv: Zoli

0
0