2010-03-01 3 views
4

J'utilise des panneaux pour remplacer le modèle de nœud (nœud/nœud%). Je voudrais que le système utilise une variante spécifique lorsqu'un nœud est chargé. Par exemple. le noeud 123 devrait utiliser la variante A et le noeud 223 devrait utiliser la variante B. Il n'y a pas une option pour moi de déterminer que sous les règles de sélection, je me demande si je devrais utiliser le code PHP, et si je le fais, comment dois-je faire? écrire le code?Drupal - Panneaux - utiliser les variantes selon NID

Je suis conscient de l'option d'utilisation de nœuds de panneaux, mais en l'utilisant, il n'y a pas de moyen facile de modifier le nœud, ce qui en fait un choix moins que souhaitable.

Répondre

3

Dans ce cas, la chose la plus simple est probablement de jeter du code PHP. Il serait plus joli de faire une extension aux règles de sélection des panneaux, mais cela pourrait être un peu exagéré dans ce cas.

Quoi qu'il en soit quelque chose comme

return arg(1) == 123; 

devrait le faire.

Votre problème est probablement le cache Drupal/Panel. Je viens de le tester, et ça fonctionne bien.

+0

@googletorp merci pour la réponse rapide. C'était en fait la première chose que j'ai essayé, et cela n'a pas fonctionné, donc j'ai pensé que ce n'était pas la bonne méthode pour commencer. –

+1

return arg (1) == 123; Ce nouveau code a fonctionné! Merci tas pour la réponse de suivi! –

2

Vous aurez besoin de faire quelque chose comme ça ...

$nid = 11; 
    if (arg(0) == 'node' && arg(1) == $nid && !arg(2)) { 
    return true; 
    } 
    return false; 

Attention test uniquement arg (1) dans la réponse précédente, qui correspondent également aux utilisateurs (utilisateurs/123), ainsi que toute vue de page qui accepte un argument numérique (articles/123).

+0

Votre réponse est beaucoup plus complète que celle de googletorp. Merci! – Roger

Questions connexes