Drupal related nodes doorsturen in een RSS Feed

Om verder te gaan op een eerdere post (Hoe extra velden mee versturen in een RSS Feed van Drupal) zullen we vandaag 'Related nodes' gemaakt met het nodereference-field van de CCK module in een Drupal feed doorsturen.

Indien je inhoud tussen verschillende websites doorstuurt kan je naast elk ander CCK veld ook de related nodes gaan doorsturen met de FeedAPI module..

Je kan dit doen door gebruik te maken van één van de 2 volgende modules: Views RSS of Content Templates.
Zelf maak ik hier gebruik van Content Template net zoals in de vorige post.

Maak voor het inhoudstype waar je gerelateerde nodes voor wilt voorzien het volgende veld aan:

  • Label: Gerelateerde items
  • Machine-naam: field_relatednodes
  • Type: Node reference (Hiervoor dien je natuurlijk het Node reference field voor ingeschakeld te hebben bij de CCK module)
  • Widget Type: Autocomplete text field

Zorg ook dat dit veld op de hoofdsite (van waar je inhoud zal versturen) als op de dochtersites (waar de inhoud binnen zal komen) beschikbaar is.

Eenmaal dit gebeurd is kan je op de hoofdsite (moedersite) starten met het toevoegen van gerelateerde nodes (related nodes).

Indien je de Content Template module hebt ingeschakeld kunnen we nu de RSS Feed gaan aanpassen om deze ook mee door te sturen zonder dat deze rechtstreeks aan de bericht-tekst worden toegevoegd. (Indien de Content Template module nog niet geïnstalleerd is, bekijk dan even de vorige post).

Ga naar de template pagina voor het gewenste inhoudstype en pas de 'RSS Output' aan als volgt:

<?php
// Eerst printen we de berichttekst
print $node->content['body']['#value'];

// Daarna kunnen we starten met de related nodes toe te voegen
$related_nodes = array();
foreach($node->field_relatednodes as $id => $value) {
  $related_nodes[] = $value['view'];
}

$xml_elements = array();
$xml_elements[] = array(
  'key'   => "gelinkte_content",
  'value' => strip_tags(implode(", ", $related_nodes)),
);
?>

Indien je reeds andere extra CCK velden had toegevoegd kan je die hier gewoon mee opnemen.

Alvorens je op de andere sites nu dit veld kan gaan mappen naar het CCK nodereference field dien je wel hier nog de juiste mapper voor toe te voegen aan de Feed Element Mapper module. De mapper hiervoor kan je terugvinden bij de issues op Drupal.org voor deze module.

Labels: 

Geen reacties beschikbaar.

Reactie toevoegen