afbeelding van Niek Kloots

php code om een blok wel of niet zichtbaar te maken

Ik zoek voor mijn website http://openwaterswimming.eu een php code om een blok wel of niet zichtbaar te maken.

argument 1: alleen zichtbaar als de node die men bekijkt van het type date is.
argument 2: het datum veld op de node date is in het verleden.

Op http://openwaterswimming.eu/node/9820 zou het dus wel zichtbaar moeten zijn en op http://openwaterswimming.eu/node/2050 niet.

Ik krijg het blok nu boven beiden te zien met de volgende code:

<?php
$match = FALSE;
$types = array('date' => 1);
if (arg(0) == 'node' && is_numeric(arg(1) && is_numeric(arg(0) )) {
$nid = arg(1);
$node = node_load(array('nid' => $nid));
$type = $node->type;
if (isset($types[$type]))
$now = time();
if ( $on >= $now ){
$match = TRUE;
}
}
return $match;
?>

maar weet niet hoe ik argument 2 moet laten werken.

Drupalversie: 
7.x
Auteur: 
Niek Kloots
afbeelding van be-web
Door be-web op 3 december, 2014 - 20:31

Tip: als je niet helemaal thuis bent in php is het handiger om deze code in je page.tpl.php uit te voeren. In plaats van return geef je een print commando met de waarde. Dan zie je wat je doet.

Het gaat in jou voorbeeld in ieder geval op twee dingen fout:
- variabele $on is niet gezet, dus kun je niet gebruiken in een if()
- is_numeric(arg(0)) is altijd false als je node/%nid aanroept

-----
Met vriendelijke groet,
Hans Kuiters
BE-WEB

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.

onomatopee