View Similar by terms

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,

J'ai installé le module similar by terms 7.x-2.3, sur un site drupal-7.15.
J'ai voulu utiliser la vue fournie par defaut par le module. Je l'ai placé dans la région d'une page définit par mes soins qui a pour adresse:
http://[monsite.fr]/?q=vue/[nid]
ou [nid] est le node->nid du contenu affiché.
Ensuite, dans l'administration de ma vue:
- j'ai ajouté le field, Similar by terms: similarity (show as percentage);
- ajouté le critère Similar by terms: similarity (desc), pour le tri;
- et ajouté le filtre contextuel, Similar by terms: nid, pour fournir l'élément de référence, sa valeur provient de l'url, raw value from url = path component 2 et j'ai choisit un seul vocabulaire (vocabulaire_doc_sujet). J'ai aussi essyé de lui passer une valeur fixe (=14) mais rien de plus.
Au passage, dans le doute, j'ai appliqué la correction suivante pour conserver les choix fait dans la configuration du filtre contextuel: http://drupal.org/node/1851754.

Vous pourrez voir sur le fichier joint une capture d'écran de la configuration de la vue Similar by term. Sur celle-ci, j'avais ajouté une relation sur taxonomie terms on node mais cela ne change strictement rien, et ne devrait pas être nécessaire si j'en crois la doc.

Deux node de même type ont > 3 termes identiques dans ce vocabulaire; mais la vue demeure invisible quelque soit le node affiché sur ma page. Elle n'apparait même pas dans le code généré???!!!).
Voici le log sous postgresql 9.1:
2012-12-31 14:43:48 CET ERROR: column reference "nid" is ambiguous at character 673
2012-12-31 14:43:48 CET STATEMENT: SELECT node.title AS node_title, node.nid AS nid, COUNT(node.nid) AS nid_1, COUNT(node.nid) AS node_nid
FROM
node node
INNER JOIN (SELECT td.*, tn.nid AS nid
FROM
taxonomy_term_data td
INNER JOIN taxonomy_vocabulary tv ON td.vid = tv.vid
INNER JOIN taxonomy_index tn ON tn.tid = td.tid
WHERE (tv.machine_name IN ('vocabulaire_sujet')) ) taxonomy_term_data_node ON node.nid = taxonomy_term_data_node.nid
LEFT JOIN taxonomy_index similarterms_taxonomy_index ON node.nid = similarterms_taxonomy_index.nid
WHERE (( (similarterms_taxonomy_index.tid IN ('13', '18', '30', '31', '32', '33')) AND (node.nid NOT IN ('14')) )AND(( (node.status = '1') )))
GROUP BY node_title, nid
ORDER BY node_nid DESC
LIMIT 5 OFFSET 0

Sans la relation (en trop dans la configuration du module):
2012-12-31 15:20:40 CET ERROR: column reference "nid" is ambiguous at character 386
2012-12-31 15:20:40 CET STATEMENT: SELECT node.title AS node_title, node.nid AS nid, COUNT(node.nid) AS nid_1, COUNT(node.nid) AS node_nid
FROM
node node
LEFT JOIN taxonomy_index similarterms_taxonomy_index ON node.nid = similarterms_taxonomy_index.nid
WHERE (( (similarterms_taxonomy_index.tid IN ('13', '18', '30', '31', '32', '33')) AND (node.nid NOT IN ('14')) )AND(( (node.status = '1') )))
GROUP BY node_title, nid
ORDER BY node_nid DESC
LIMIT 5 OFFSET 0

C'est vraiment très important, alors je suis disponible pour répondre à toutes vos questions. Je suis prêt à essayer d'autres solutions, si vous en avez qui fonctionne. Merci de votre aide.

Fichier attachéTaille
Icône image pb_similar_by_terms.JPG77.67 Ko
Version de Drupal :