J'ai donc essayé de comprendre cela pendant presque toute la journée. Je l'ai fait fonctionner essentiellement dans l'aperçu à un moment donné, mais maintenant il ne semble plus fonctionner du tout.
Cas d'utilisation: chaque nœud publié avec le type de contenu "Article" est livré avec un champ Taxonomie pour les balises incluses. Ce que j'essaie de faire, c'est de créer un bloc qui apparaît sous l'article avec une série de miniatures qui pointent vers d'autres articles. Ces articles sont à leur tour liés en fonction des balises utilisées dans chaque article.
Donc, la question est:
J'ai essayé de configurer le filtre contextuel pour être conscient que les termes seraient dans le type de contenu: articles via le filtre Relations, mais franchement, je suis un peu perplexe quant à ce que je dois faire pour même accomplir cela.
J'ai implémenté la même chose dans un projet en Drupal 7 pour afficher les produits du même catalogue.
Vous pouvez créer une vue du contenu de l'article et créer des filtres contextuels pour les balises. Il affichera tout l'article de ces balises.
Vous pouvez suivre l'étape ci-dessous:
Vous pouvez trouver l'image ci-dessous pour référence.
Vous devez également ajouter un filtre contextuel de l'ID de nœud et suivre l'étape ci-dessous, de sorte que la page de nœud actuelle ne s'affichera pas dans la section des vues associées.
Avez-vous essayé d'utiliser similaire par termes ?
(modifier) Le problème avec les arguments de taxonomie de Views est que la taxonomie est maintenant contenue dans un champ et non un code de module de taxonomie vaudou. Pour cette raison, une partie de l'API de taxonomie dans Drupal 6 n'est pas disponible dans Drupal 7.
J'utilise le module Context avec Vues Arguments from Context . J'ai fait n correctif qui l'a porté Drupal 7. Cela donne une autre option sous Filtre contextuel dans les vues pour obtenir les arguments basés sur le contexte ou les objets et entités chargés à ce temps.
Il s'agit d'une fonction particulièrement utilisée:
function taxonomy_node_get_terms($node, $key = 'tid') {
static $terms;
if (!isset($terms[$node->vid][$key])) {
$query = db_select('taxonomy_index', 'r');
$t_alias = $query->join('taxonomy_term_data', 't', 'r.tid = t.tid');
$v_alias = $query->join('taxonomy_vocabulary', 'v', 't.vid = v.vid');
$query->fields( $t_alias );
$query->condition("r.nid", $node->nid);
$result = $query->execute();
$terms[$node->vid][$key] = array();
foreach ($result as $term) {
$terms[$node->vid][$key][$term->$key] = $term;
}
}
return $terms[$node->vid][$key];
}
Il n'aurait pas dû être supprimé de Drupal core. Il trouvera les termes de taxonomie que vous utilisez si vous lui passez l'objet nœud actuel.