Copie de drupal.stackexchange.com dans l'espoir d'obtenir plus de réponses ici:
Je fais face à un problème assez commun d'affichage d'une liste de nœuds similaires à celle actuelle. Un nœud similaire est défini comme l'un ayant au moins un terme taxonomie selon lequel le nœud actuel a. Il existe peu de solutions disponibles en tant que modules, mais les modules que j'ai trouvés (spécifiquement similaires en termes) sont en phase bêta (comme dans "ne fonctionne pas correctement") pour Drupal 7.
J'ai également trouvé quelques solutions basées sur des vues et des filtres contextuels (tels que http://scito.ch/content/show-related-nodes-block-based-taxonomy-terms-views-3- et-drupal-7 ) ou relations. J'aime beaucoup de cette façon, car cela me permet d'installer des modules supplémentaires et que des vues étant activement développées et prises en charge, je préférerais les utiliser plutôt que toute solution personnalisée. Le problème que je ne peux pas me contenter est de trier des "nœuds similaires" par le nombre de termes qu'ils partagent. Par exemple, si j'ai "iphone 4s" Node avec termes "gadget", "pomme" et "téléphone", je veux des nœuds similaires dans l'ordre suivant:
Comment puis-je traiter des nœuds dans cette vue par le nombre de termes qu'ils partagent?
Cette question consiste à construire une vue, veuillez ne pas suggérer de modules ni de solutions personnalisées basées sur PHP. Merci.
** Voir le commentaire de @ garret-albright ci-dessous pour avoir testé cela dans l'aperçu de l'interface utilisateur. Amateur
devinez quoi - il y a modules pour cela aussi: D
je peux recommander similaires en termes vous donner cette vue sans configuration tracas.
Ceci est une solution alternative liée à cette question. Cependant, il pourrait ne pas s'appliquer à chaque cas, mais si vous pouvez l'utiliser, c'est plus simple (et plus sûr que l'agrégation à mon avis).
Je vais utiliser panneaux . Une fois que vous avez créé un panneau pour afficher votre entité (nœud ou quoi que ce soit d'autre), vous pouvez ajouter plusieurs vues et leur montrer à côté du contenu. L'une de ces vues va être notre contenu connexe.
Ainsi, les panneaux sont la seule limitation. peut-être il est possible d'utiliser des mini-panneaux et de le représenter comme un bloc, je n'ai pas essayé moi-même.
Créez votre vue comme vous le feriez normalement, mais do non le créera comme un bloc ou une page. Décochez les deux.
Dans la page Configuration des vues Créer un concernant Taxonomie Terme sur l'entité.
Créez un filtre contextuel pour filtrer: Taxonomie Terme: Terme ID .
Créez un autre filtre contextuel : ID d'entitéou Contenu: NID Si c'est un nœud.
Maintenant, en cliquant sur ajoutCréez un nouvel affichage de type Volet de contenu .
Dans la zone de configuration d'affichage (nommé: Paramètres du volet) Ouvrir Entrée d'argument . Vous devriez avoir 2 options:
Félicitations! Vous avez terminé de créer votre vue. Il est temps pour un panneau (je ne vais pas expliquer beaucoup de choses sur la création d'un groupe spécial car il dépasse la portée de ce Q/A).
Créez un panneau (ou activez le panneau par défaut du nœud /% du nœud et ajoutez une variante).
Dans onglet Contexte , créez un concernant Taxonomie Terme sur l'entité.
Cliquez sur Ajouter un contenu dans l'une des vitres.
Si vous n'avez pas changé la catégorie de la vue, c'est dans Vues VuesAjoutez-le. Il demandera une pièce d'identité d'entité et un identifiant à terme deux sont disponibles maintenant dans votre contexte de panels, définissez-les.
Maintenant, lorsque le panneau est affiché, tout le contenu avec le même terme excluant le contenu de cette page est affiché.
Cette méthode est essayée et cela fonctionne parfaitement, mais au moment de la rédaction de cet article, ctools avait un bug. Il y a un patch pour cela: https://www.drupal.org/node/2195211