it-swarm-eu.dev

Jak implementovat vyhledávání na více polích omezených na jeden typ obsahu v drupal 7

Vytvořil jsem nový typ obsahu, který má několik polí (některá z nich jsou vlastní pole, která jsem vytvořil sám). Nyní musím implementovat vyhledávací funkci v každém z těchto polí.

To znamená, že pokud mám tato pole:

  • VideoCV (pole videa)
  • Povolání (textové pole)
  • Řidičský průkaz (vybrané seznamy)
  • Region narození (taxonomický termín)

Potřebuji vyhledávací modul s těmito čtyřmi poli, takže pokud hledáte povolání „inženýr“, vyhledá pouze data vložená do tohoto specifického pole.

Co musím udělat? Jaké další moduly mám nainstalovat? Co mám dělat se svými vlastními poli?

5

Pokud potřebujete přístup k uzlům v kódu, řešení Delmi by mělo fungovat.

Pokud chcete použít stávající moduly, pohledy by měly udělat trik. Videotutoriály NodeOne na videích jsem shledal velmi užitečnými: http://dev.nodeone.se/node/781

2
Sam King

Nejsem odborník na D7, ale můžete zkusit s EntityFieldQuery jako je tento:

$query = new EntityFieldQuery();
$entities = $query->entityCondition('entity_type', 'node')
                ->entityCondition('bundle', 'YOUR_CONTENT_TYPE_NAME')
                ->propertyCondition('status', 1)
                ->fieldCondition('YOUR_FIELD_NAME', 'value', $searchterm)
                // other conditions...
                ->propertyOrderBy('title')
                ->execute();
$nodes = entity_load('node', array_keys($entities['node']));
2
delmi

Zajímalo by mě, jestli Zobrazení a Lepší vystavené filtry by pro vás trik? Vytvořte zobrazení stránky, vystavte filtry polí a poté ve sloupci „Upřesnit“ budete mít možnost zobrazit vystavené filtry ve struktuře> bloky.

1
davidgmar

Řešení 1

Zobrazení 3 poskytuje řešení pro vaši otázku z pole. Je to Global: Combine fields filtr.

  1. Přidat pole

  2. Přidat Global: Combine fields filtrovat podle kritérií filtrování

  3. Zaškrtněte pole, která chcete kombinovat v nastavení filtru

Pokud používáte režim Display suite nebo teasers - vynutit použití polí v nastavení Zobrazit.

Řešení 2

Filtry zhlédnutí se naplní - dobrý modul. Existuje však jeden problém „naplní pouze vystavené filtry STRING“.

Další informace naleznete v vydání Views about Použít jeden vystavený filtr na více polí .

0
milkovsky

Použijte modul Finder k vytváření vyhledávání pro konkrétní pole (jádro vyhledávání Drupalu je fulltextové vyhledávání, nikoli pro konkrétní pole). Zde je výňatek ze stránky projektu modulu:

... umožňuje Drupal administrátoři webů) vytvářet flexibilní fazetové vyhledávací formuláře k nalezení entit, jako jsou uzly nebo uživatelé na základě hodnot polí a atributů databáze.

Typicky se Finder používá pro tyto účely:

  • Jako vyhledávací nástroj k nalezení skupiny uzlů nebo uživatelů.
  • Jako způsob, jak přejít na konkrétní uzel nebo stránku uživatele, která odpovídá kritériím.
  • Jako alternativa k exponovaným filtrům pro zobrazení modulu Pohledy.
0
rogerhoward

Vytvořte pohled na svůj typ obsahu a přidejte všechna pole, která chcete hledat, jako exponované filtry. Tím se vytvoří vyhledávací formulář se vstupními prvky pro všechna filtrovaná pole (nebo jen jedno, pokud je to, co chcete). Můžete jej nastavit tak, aby filtroval pouze pro vyplněná vstupní pole a ostatní ignoroval.

Umožní vám to umístit vyhledávací formulář do horní části pohledu nebo jej přesunout do samostatného bloku.

0
BetaRide