Blokk megjelenítése akkor ha...

wildface86 képe

Hy evereybody!

Szerettem volna azt megoldani, hogy a tartalom bevezetője után belőni egy blokkot, ami sikerült is.

template.php

 
Function sminkemneve_preprocess_node(&$vars) {
  if ($vars['page'] != 0) {
    $adblock = module_invoke('block', 'block', 'view', 9);
 
$vars['content'] = $vars['field_rovatok_rendered'] . $vars['field_bevezeto_szoveg_rendered'];
 
$vars['content'] .= '<div id="block-block-9">' . $adblock['content'] . '</div>';
 
$vars['content'] .= $vars['node']->content['body']['#value'];
  }
}

Ez így ok, de kivágja a blokkot olyan node-ban is amelyben nem teljes tartalom van, hanem view által listázott nodeok( bevezetö, kép, cim).

Jó mondom, akkor blokk szerkesztése, php kód, ne jelenjen meg az adott tartalomtipusban

if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {
  $node = node_load(arg(1));
 
  if ($node->type != 'rovatok') {
    return TRUE;
  }
}
return FALSE;

Tök jó, mert nem jelenik meg... SEHOLSEM!!! Ekkor elhangzik a költői kérdés: MIÉRT?

Drupal verzió: 
Fórum: 
pp képe

ezt miért nem a preprocessben intézed? Ott láthatod is ha jól tudom, hogy $page nézet-e avagy sem.

pp

0
0
wildface86 képe

 if ($vars['node']->type != 'rovatok') az elejébe a $page helyett azt csá. Kösz PP!

0
0
szantog képe

<div id="block-block-9">
ha ezt rendszeresen használod, előbb-utóbb tuti sikerül nem valid html kódot előállítani. Egy dinamikusan előállított DIV id-jét nem illik ennyire beégetni a kódba.

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.