web-dev-qa-db-fra.com

Passer un champ de noeud comme filtre contextuel sur une vitre d'affichage

J'essaie de passer un filtre contextuel à un volet de contenu de vues d'un champ de mon nœud et j'ai suivi la procédure décrite dans cette question sans succès. Je vois que l'OP de cette question a finalement eu recours à un PHP filtre contextuel également.

La seule différence est que j'utilise des panneaux plutôt que des panneaux. Mon domaine s'appelle field_organization_contact_recor. Mon point de vue fonctionne si je le teste avec des valeurs légales pour ce champ dans la cime-UI et donne les résultats corrects dans l'aperçu.

J'ai choisi "du contexte" et j'ai vérifié que je transmettais le champ correct dans les paramètres "Entrée d'arguments" pour le volet Vues. J'ai vérifié en utilisant Firebug pour vérifier que le nom du champ de l'option sélectionnée était correct. Je n'ai que "aucun résultat" pour ma vue.

J'ai également essayé de la configurer comme "entrée sur la configuration du volet". Si je le fais et transmettez une valeur codée dur dans les paramètres du volet, je reçois également les résultats de la vue correcte dans ma page de panneaux. Sur les paramètres contextuels Il existe une invite "Vous pouvez utiliser des mots-clés pour des substitutions." Quel est le format requis de ces mots-clés pour réussir une valeur de champ? J'ai essayé le format indiqué dans la liste des contextes intégrés sur l'onglet Contexts "% noeud: field_organization_contact_recor". Ce format ne fonctionne pas dans mon cas.

Info supplémentaire: Ce champ est le champ de référence de contact CivicRM. Peut-être qu'il y a un crochet particulier que ce type de champ ne met pas en œuvre?

3
lolcode

J'ai trouvé une solution simple pour cela dans A Commentaire dans les files d'attente de la question :

Fondamentalement, il existe un mode d'affichage sur chaque type de contenu pour les jetons pouvant être utilisés pour contrôler exactement ce qui est rendu par jetons utilisés.

Pour l'activer par type de contenu, procédez comme suit:

  • Dans le type de contenu actuel, est arrivé à l'onglet "Gérer l'affichage".
  • Faites défiler jusqu'à la fin de la liste des champs et cliquez sur le lien "Paramètres d'affichage personnalisés".
  • Activer (cocher) et enregistrer l'option Token pour activer le mode d'affichage du jeton.
  • Allez sur ce mode d'affichage (onglets de mode d'affichage gris à proximité du haut) et de tous les paramètres de champ que vous faites ici pour effet ce que les jetons rendent (quels sont les mêmes panneaux utilise).
10
FatherShawn

Pour le champ "Entrée sur la configuration du volet", voici une solution sans mode d'affichage du jeton. Dans votre cas, définissez le paramètre sur:

%node:field-organization-contact-recor:cid

Explication: Les mots-clés de contexte CTools peuvent être enchaînés comme Drupal [tokens]. Au moins les versions avec des tirets de soulignement, mais apparemment pas les versions avec des traits de soulignement. Dans ton cas %node:field-organization-contact-recor fait référence à un enregistrement de contact CIVICRM, qui apparemment a son identifiant brut stocké dans un champ cid. Nous utilisons donc cela pour la chaînage.

Je pourrais chaîner la chaîne des champs de référence en entité faisant référence aux nœuds avec %node:field-name:nid _ Avec succès et supposer que ce sera l'équivalent pour votre cas, mais je ne l'ai pas testé à CivicRM.

0
tanius