aranyozottpatkoszeg képe

template.php:

function PROBA_preprocess_node(&$vars) {
       $vars['modositott_{fieldname}'] = "MODOSITOM".$vars['field_{fieldname}']['hu'][0]['value'];
}

note.tpl.php:
 print render($modositott_{fieldname});

Ez így remekül működik. Annyi kell még, hogy a field egyébként "hidden" legyen. (Különben kétszer is megjenne.) Pl. itt lehet ilyet álíltani: admin/structure/types/manage/blog/display

0
-1
aranyozottpatkoszeg képe

Sikerült egy megoldást gyártanom a problémára. :)

template.php

function OWNTHEME_preprocess_node(&$vars) {
 
  if ($vars['page'] == TRUE ) {
 
    //ujra betoltjuk a nodeot, hogy legyen erteke a teasernek, ne csak egy kapcsolo legyen
    $node = node_load($vars['nid']);
 
    //csak az érdekel, ha nincs külön summary 
    if($node->body[$node->language][0]['summary'] == '')  {
        //megkérjük, hogy alkossa meg a summary-t, ahogy szereti
	$text = text_summary($node->body[$node->language][0]['value'], $node->body[$node->language][0]['format']);
        // formázza is meg szépen
	$vars['summary_x'] = check_markup($text, $node->body[$node->language][0]['format'], $node->language, FALSE);
    }
 
   // az új $vars['summar_x']-be betoltuk a kiemelendő summary-t most az új $vars['body_x']-ből kiszedjük, hogy ne legyen duplázás
   $vars['body_x'] = str_replace($vars['summary_x'],"",check_markup($node->body[$node->language][0]['value'], $node->body[$node->language][0]['format'], $node->language, FALSE));
 }
}

Most már olyan div-ekbe rakjuk, amilyenbe akarjuk

node.tpl.php:

   print("<div class='summary_x'>"); print render($summary_x); print("</div>");
   print("<div class='body_x'>"); print render($body_x); print("</div>");

Fontos még, hogy a "Manage fields"-nél beállítsuk, hogy oldal nézetben ne jelenjen meg a body.

0
0
aboros képe

nekem úgy működik a drupal 7, hogy ha egy node szerkesztésekor az edit summary -re kattintok és a summaryt kitöltöm, akkor mentés után teaser nézetben a summary jelenik meg, full nézetben a node body, summary nélkül ahogy kell. alapból így működik. vagy nem értem mi a probléma :)
node szerkesztése: https://skitch.com/aboros/rt6fm/edit-article-appellatio-virtus-seven
teaser nézet: https://skitch.com/aboros/rt6fs/seven
full nézet: https://skitch.com/aboros/rt6fu/appellatio-virtus-seven

amúgy ez már egy új kérdés, légyszi nyiss neki új témát. köszi.

0
0

-
clear: both;

aboros képe

minden így módosított mezőt akkor hiddenre kell állítanod mindig. amivel használhatatlanná teszed a node display uit. (mert ugyis mindig minden hidden lesz, hiszen kodbol variálod)

a mezőnek ugyan úgy van előfeldolgozója, mint a nodenak.
devel_themer modul segít.

minden aminek van .tpl.php -ja, van előfeldolgozója is. ha a mezőt akarod variálni, a mező előfeldolgozójában tegyed, ne a nodeban.

0
-1

-
clear: both;

aranyozottpatkoszeg képe

Olyan full nézet kell, ahol a teaser és a (teaser nélküli) body látható, de külön div-ben. (Hogy közéjük lehessen rakni valamit. Hogy a külön lehessen formázni a teaser-t.)

a) Ha azt akarom, hogy néhány nodenál a teaser csak a teaser nézetben jelenjen meg. Full nézetben pedig a body (a teaser nélkül), akkor úgy csinálom, ahogy mutattad. Külön veszem a summary-t.
b) De én sokszor a teaser-t szeretném látni a full nézetben is, csak nem egybeöntve az egészet (ahogy alapértelmezetten megy, ha szerkesztéskor "Hide summary" van), hanem külön: summary és teaser. Ez a problémás.

A b-t meg lehetne úgy oldani, hogy minden egyes node-nál külön szerkesztem a treaser-t és a body-t, ahogy a linkelt szerkesztés képen van. Majd a full nézetbe belereakom a body-t (amihez így nem tartozik a treaser) és valahogy meghívom a treaser-t.
De nem szeretném az összes régi nodeomat így átszerkeszteni. Ezért kell valami ilyesmi buherálás.

(Talán így érthetőbb.)

0
0
aboros képe

ha megnézed a node.tpl.php -t, ilyen van benne, hogy render($content)..
ami a $vars['content'] alatt van, azt variáljad és minden sztár lesz.

kb:

function PROBA_preprocess_node(&$vars) {
  $vars['content']['body'][0]['#markup'] = '<strong>Yahoo, it works!</strong>';
}

ez minden node 'body' mezőjét mindig yahoo it works -re cseréli. tplhez nem nyúltunk.

0
0

-
clear: both;

aboros képe

nyiss új témát kérlek.

0
0

-
clear: both;

aranyozottpatkoszeg képe

Sikerült egy megoldást gyártanom, de elég csúf

template.php

function OWNTHEME_preprocess_node(&$vars) {
 
  if ($vars['page'] == TRUE ) {
 
    //ujra betoltjuk a nodeot, hogy legyen erteke a teasernek, ne csak egy kapcsolo legyen
    $node = node_load($vars['nid']);
 
    //csak az érdekel, ha nincs külön summary
    if($node->body[$node->language][0]['summary'] == '')  {
        //megkérjük, hogy alkossa meg a summary-t, ahogy szereti
    $text = text_summary($node->body[$node->language][0]['value'], $node->body[$node->language][0]['format']);
        // formázza is meg szépen
    $vars['summary_x'] = check_markup($text, $node->body[$node->language][0]['format'], $node->language, FALSE);
    }
 
   // az új $vars['summar_x']-be betoltuk a kiemelendő summary-t most az új $vars['body_x']-ből kiszedjük, hogy ne legyen duplázás
   $vars['body_x'] = str_replace($vars['summary_x'],"",check_markup($node->body[$node->language][0]['value'], $node->body[$node->language][0]['format'], $node->language, FALSE));
}
}

Most már olyan div-ekbe rakjuk, amilyenbe akarjuk

node.tpl.php:

   print("<div class='summary_x'>"); print render($summary_x); print("</div>");
   print("<div class='body_x'>"); print render($body_x); print("</div>");

Fontos még, hogy a "Manage fields"-nél beállítsuk, hogy oldal nézetben ne jelenjen meg a body.

Itt még nem vettem figyelembe ezt: ezzel lefejezed a mező megjelenítéséket

0
0
aranyozottpatkoszeg képe

bocs. (az előbbi megjegyzésedet elvolvastam. de csak a linkekig. basszus)

nyitottam új témát: D7 - Summary és Body szétválasztása full nézetben

0
0
Szőts Péter képe

Sikerült megtalálni a megoldást. Leírom, hátha valakinek segítségére lesz. Sajnos a Nodewords 6.x-1.11 legújabb stabil változata véleményem szerint hibás, hiába adott a lehetőség egyedi oldalak létrehozására, sajnos mint írtam nem jól működik. A nodewords 6.x-1.12-beta9 verzióban működik ez a funkció. Kicsit átszabták a modult, a címoldali meta-hoz is egyedi oldalt kell létrehozni, de simán működik views-el megjalenített oldalaknál is az útvonal megadásával.

0
0