it-swarm-eu.dev

Jak mohu použít kontextové filtry a vztahy k zobrazování souvisejících článků?

Takže jsem se většinu dne snažil to vymyslet. Měl jsem to v podstatě pracovat v náhledu na jednom místě, ale teď to zřejmě vůbec nefunguje.

Případ použití: každý uzel publikovaný s typem obsahu „Článek“ je vybaven poli Taxonomy pro zahrnuté značky. Snažím se vytvořit blok, který se objeví pod článkem, s řadou miniatur, které odkazují na jiné články. Tyto články zase souvisejí na základě značek použitých v každém článku.

Otázka tedy zní:

  1. Jaký by byl dobrý způsob, jak to nastavit pomocí kontextových filtrů a pohledů, aby zobrazení samo o sobě automaticky vidělo pole field_tag ​​používané jako odkaz na termín taxonomie v článku a aby automaticky zobrazovalo výstup na základě značek každého článku?

Snažil jsem se nastavit kontextový filtr, abych si byl vědom toho, že podmínky budou v typu obsahu: články prostřednictvím filtru vztahů, ale upřímně řečeno jsem trochu pašovaný, co musím udělat, abych toho dosáhl.

8
John Riley

Stejnou implementaci jsem provedl v jednom projektu v Drupal= 7 pro zobrazení produktů stejného katalogu).

Můžete vytvořit zobrazení obsahu článku a vytvořit kontextové filtry pro značky. Zobrazí se všechny články těchto značek.

Můžete postupovat níže:

  • Přidejte kontextový filtr značek. Zaškrtnuté tlačítko „Poskytnout výchozí hodnotu“.
  • V rozbalovací nabídce typu vyberte „Id taxonomie id from url“.
  • Zaškrtnuto políčko „Načíst výchozí filtr ze stránky uzlu“.
  • Zaškrtnuto políčko „Omezit pojmy slovní zásobou“.
  • V části Vocabularies zaškrtněte políčko Vocabularies (tagy), které chcete přidat do zobrazení.
  • V části Další zaškrtněte políčko Povolit více hodnot, aby tento výraz mohl filtrovat více značek.

Níže naleznete obrázek pro informaci.

Musíte také přidat kontextový filtr id uzlu a postupujte podle níže uvedeného postupu, takže se aktuální stránka uzlu nebude zobrazovat v části související zobrazení.

  • Přidat obsah: Nid kontextový filtr v pohledech.
  • Zaškrtávací políčko „Poskytnout výchozí hodnotu“ a v rozbalovací nabídce typu vyberte „Content id from url“.
  • V části více v kontextovém filtru zaškrtněte políčko Vyloučit.

display related product in views of same category

1

Zkusili jste použít Podobné podle podmínek ?

(upravit) Problém s argumenty taxonomie Pohledů spočívá v tom, že taxonomie je nyní obsažena v poli, nikoli v kódu modulu voodoo taxonomie. Z tohoto důvodu některé API taxonomie v Drupal 6 není k dispozici v Drupal 7).

Modul Context používám s Argumenty zobrazení z kontext . Udělal jsem patch , který jej přenesl Drupal 7.) To dává další možnost pod Kontextovým filtrem v pohledech pro získání argumentů založených na kontextu nebo načtených objektech a entitách v tom čas.

Jedná se zejména o funkci:

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

Nemělo by to být odebráno z jádra Drupal). Najde pojmy taxonomie, které používáte, pokud předáte aktuální objekt uzlu.

0
Adam S