Comment afficher un bloc si présence d'un mot spécifique dans un noeud ?

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Je voudrais que s'affiche automatiquement un bloc d'information sur le format PDF uniquement lorsque le mot PDF est présent dans le corps d'un noeud.

Est-ce possible ? Si oui, pouvez vous m'aider ?

MErci !

Version de Drupal : 

Salut,

Dans les conditions de visibilité de ton bloc, il faut mettre "seulement si le code PHP suivant renvoie TRUE" avec du code PHP qui ressemble à ça :

<?php
if (arg(0) == 'node' && is_numeric(arg(1)) && arg(3) == '') {
 
$node = node_load(arg(1));
  if (
strpos($node->body, 'pdf') !== FALSE) {
    return
TRUE;
  }
}
?>

En français, ce code se traduit par : si je suis en train d'afficher un node, je le charge, et je regarde si le champ body contient la chaîne "pdf" (il faudra peut-être un peu modifier le code en fonction du champ à tester).