Rendered nodes (Drupal)

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 29 aug 2016 om 20:27 (→‎Bronnen)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

Rendered nodes worden verzorgd door de Entity API-module (entity). Behalve installatie van deze module, hoef je verder niets te doen om gebruik te kunnen maken van rendered nodes.

Wat je zoal niet nodig hebt om een Content: node reference te kunnen gebruiken in een view (althans, als test):

  • Display Suite - De hele suite mag afwezig zijn. De default Teaser en Ful zijn al voldoende
  • View modes - Je hoeft geen enkele view mode te defineren. Weer: Teaser en Full zijn al voldoende
  • Entity tokens
  • Better exposed filters
  • Een object dat verwijst naar een andere object - Niet nodig!

Storing, aug. 2016

In aug. 2016 had ik een leipe storing rondon rendered nodes. Waar de bijbehorende zoektocht me zoal bracht:

Als je eenmaal gebruik kunt maken van rendered nodes in een view, dan kun je gelijk alle view modes toepassen. Alsof je ergens één schakelaar moet omzetten om rendered nodes in views te kunnen toepassen

Zoekviews kunnen gebruik maken van rendered nodes. Da's handig, als je weet hoe er mee om te gaan. De constateringen hieronder zijn vooral afkomstig van een bestaande instantie (Kolibrie):

  • View modes: Rendered nodes maken gebruik van view modes, onderdeel van Display Suite
  • Niet vanzelf: View modes zijn niet automatisch beschikbaar als rendered nodes: Je moet eerst iets doen om ze beschikbaar te stellen
  • Los van de index: Beschikbaarheid van rendered nodes staat los van de beschikbare velden in de zoek-index: Als je alle velden uitzet, doet nix het nog, behalve de rendered node: Die gaat gewoon door
  • Los van object-type: Rendered nodes zijn voor bijna alle soorten objecten beschikbaar. Het heeft dus niet specifiek betrekking op zoek-servers
  • Los van node-type: Beschikbaarheid van rendered nodes staat los van het soort node
  • Los van relaties: Beschikbaarheid van rendered nodes staat los van een relatie die is gedefineerd binnen een view, of de bestaande velden: Als ik een nieuwe view aanmaak, dan heb ik gelijk de beschikking over rendered nodes
  • Entity reference-field: Het betreft basically een entity reference-field: Je kunt in een view namelijk aangeven of je alleen het referentie-ID wilt tonen, het label, of een view mode
  • Deze posting suggereert dat je drie dingen hebt: Een view mode, een node reference field, en een associatie tussen view mode en node reference field. Zonder deze laatste krijg je niet de beschikking over rendered node-fields
  • Diezelfde posting suggereert verder dat dit betrekking heeft op node_reference
  • Entity API-module: Deze posting zegt duidelijk: "... Add the "Node: Rendered Node" field. (It is provided via the Entity API module)."

Voorbeeld van een rendered-node field:

/* Field: Content: Rendered Node */
$handler->display->display_options['fields']['rendered_entity']['id'] = 'rendered_entity';
$handler->display->display_options['fields']['rendered_entity']['table'] = 'views_entity_node';
$handler->display->display_options['fields']['rendered_entity']['field'] = 'rendered_entity';
$handler->display->display_options['fields']['rendered_entity']['link_to_entity'] = 1;
$handler->display->display_options['fields']['rendered_entity']['display'] = 'view';
$handler->display->display_options['fields']['rendered_entity']['view_mode'] = 'add_to_cart';
$handler->display->display_options['fields']['rendered_entity']['bypass_access'] = 0;

Zie ook

  • [[Faceted search - Hoe het werkt (Drupal)]

Bronnen