Drupal: bloc Assigner à un type de contenu spécifique
-
30-09-2019 - |
Question
J'ai fait un modèle personnalisé appelé noeud-mynode.tpl.php Chaque fois qu'un noeud de type mynode est requis, noeud-mynode.tpl.php est automatiquement utilisé.
Cependant, maintenant l'utilisateur veut voir un bloc de menu spécifique dans ce cas.
Question: Comment puis-je attribuer un bloc à un type de contenu spécifique?
Astuce: J'ai commencé à regarder des alias URL avec Pathauto. Je pense qu'une solution réside peut-être dans ce sens.
La solution
Donne tout type de mynode
noeuds un alias automatique qui commence par /mynode
et utiliser les paramètres de visibilité spécifiques de la page pour le bloc, montrant uniquement sur les pages qui commencent par /mynode/*
.
Autres conseils
Dans Drupal 6, vous pouvez configurer les paramètres de visibilité des blocs. Cliquez sur le lien « configure » à côté de votre bloc dans le back-end d'administrateur et procédez comme suit -
1) Sélectionnez le 'Afficher si les rendements de code PHP suivant TRUE (PHP-mode, experts uniquement)' option sous l'onglet 'page Paramètres de visibilité spécifique'.
2) Entrer le code PHP suivant vérifie le type de noeud du noeud courant et renvoie TRUE en conséquence -
<?php
if( arg(0) != 'node' || !is_numeric(arg(1)) )
{ return FALSE;
}
//load a fully-populated Drupal node object
$temp_node = node_load(arg(1));
if( $temp_node->type == 'mynode' ) //check the node type
{ return TRUE; //display block
}
?>
Cela devrait fonctionner ....
vous pouvez utiliser le module de contexte