Come posso utilizzare i filtri e le relazioni contestuali per mostrare articoli correlati?


8

Quindi, ho cercato di capirlo per gran parte della giornata. A un certo punto l'ho fatto essenzialmente funzionare nell'anteprima, ma ora non sembra funzionare affatto.

Caso d'uso: ogni nodo pubblicato con il tipo di contenuto "Articolo" include un campo Tassonomia per i tag inclusi. Quello che sto cercando di fare è creare un blocco che appare sotto l'articolo con una serie di miniature che rimandano ad altri articoli. Questi articoli a loro volta sono correlati in base ai tag utilizzati in ciascun articolo.

Quindi, la domanda è:

  1. Quale sarebbe un buon modo per configurarlo usando i filtri contestuali e le viste in modo che la vista stessa veda automaticamente i field_tags usati come riferimento del termine tassonomia in un articolo e visualizzerà automaticamente l'output in base ai tag di ciascun articolo?

Ho provato a impostare il filtro contestuale per essere consapevole del fatto che i termini sarebbero nel Tipo di contenuto: articoli tramite il filtro Relazioni, ma francamente sono un po 'sconcertato su ciò che devo fare per raggiungere questo obiettivo.


Questo è probabilmente il modo più semplice, stavo cercando di realizzare la stessa cosa e talvolta pensiamo troppo alle cose. ;) drupal.stackexchange.com/questions/69426/…
kyletaylored l'

Risposte:


1

Ho implementato lo stesso in un progetto in Drupal 7 per visualizzare i prodotti dello stesso catalogo.

È possibile creare una vista del contenuto dell'articolo e creare filtri contestuali per i tag. Verrà visualizzato tutto l'articolo di tali tag.

Puoi seguire il passaggio seguente:

  • Aggiungi un filtro contestuale di tag. Pulsante di opzione selezionato "Fornisci valore predefinito".
  • Seleziona "ID termine tassonomia dall'URL" nel menu a discesa.
  • Casella di controllo "Carica filtro predefinito dalla pagina nodo".
  • Casella di controllo "Limita i termini per vocabolario".
  • Nella sezione Vocabolari, seleziona la casella di controllo Vocabolari (tag) a cui desideri aggiungere un filtro nelle viste.
  • Nella sezione più, seleziona la casella di controllo "Consenti valori multipli", in modo che più tag possano utilizzare il termine filtro.

Puoi trovare l'immagine qui sotto per riferimento.

È inoltre necessario aggiungere un filtro contestuale dell'ID nodo e seguire il passaggio seguente, quindi la pagina del nodo corrente non verrà visualizzata nella sezione viste correlate.

  • Aggiungi contenuto: filtro contestuale Nid nelle viste.
  • Pulsante di opzione "Fornisci valore predefinito" e seleziona "ID contenuto dall'URL" nel menu a discesa.
  • Nella sezione più nel filtro contestuale, seleziona la casella di controllo "Escludi".

visualizzare il prodotto correlato in viste della stessa categoria


0

Hai provato a usare Simile per Termini ?

(modifica) Il problema con gli argomenti di tassonomia di Views è che la tassonomia è ora contenuta in un campo e non in un codice del modulo di tassonomia vudù. Per questo motivo, alcune delle API di tassonomia in Drupal 6 non sono disponibili in Drupal 7.

Uso il modulo Context con Views Arguments from Context . Ho creato una patch per il porting di Drupal 7. Questo dà un'altra opzione sotto Filtro Contexual nelle viste per ottenere gli argomenti in base al contesto o oggetti ed entità caricati in quel momento.

Questa è una funzione che utilizza in particolare:

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];
}

Non avrebbe dovuto essere rimosso dal nucleo di Drupal. Troverà i termini della tassonomia che usi se gli passi l'oggetto nodo corrente.


No. Dagli un'occhiata, comunque. La mia preoccupazione principale è che non voglio diventare eccessivamente dipendente dai moduli, poiché ciò può occasionalmente causare una piccola instabilità per un ambiente di produzione.
John Riley,

simile per termini crea solo una vista che puoi clonare. quindi disabilitalo quando hai finito.

Quindi, dove carico esattamente questa funzione? Devo solo modificare il modulo di tassonomia da qualche parte?
John Riley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.