it-swarm.it

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

Quindi, ho cercato di capire questo 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.

8
John Riley

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 selezionare "ID contenuto dall'URL" nel menu a discesa.
  • Nella sezione Altro nel filtro contestuale, seleziona la casella di controllo "Escludi".

display related product in views of same category

1

Hai provato a usare Simile ai 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 della tassonomia in Drupal 6 non sono disponibili in Drupal 7.

Uso il modulo Context con Views Argomenti dal contesto . Ho creato na patch che lo ha portato 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 tempo.

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 da Drupal core. Troverà i termini di tassonomia che usi se gli passi l'oggetto nodo corrente.

0
Adam S