Af en toe kan het wel eens handig zijn om een View, block of zelfs een andere reeds bestaande node in te voegen in je nieuwe node of block op je Drupal website.
Alvorens onderstaande embed technieken te gebruiken dien je natuurlijk de PHP filter in te schakelen (Standaard bij Drupal core) en bij de nodes die je aan zal maken dit als filter in te schakelen ipv Full HTML.
Hieronder vind je enkele mogelijke opties om dit te doen:
De tekst in het rood dien je te vervangen door de ID of juiste benaming
<?php
// Op deze manier kan je bijvoorbeeld de berichttekst voor een node embedden
// Verder kan je alle andere node variabelen ook aanspreken
$node = node_load(NODE_ID);
print check_markup($node->body);
?>
<?php
// Op deze manier kan je een view embedden
print views_embed_view('NAAM_VAN_DE_VIEW', 'block_1');
?>
<?php
// Op deze manier kan je een block embedden
$block = module_invoke('block', 'block', 'view', 'ID_VAN_HET_BLOK');
// Voor titel van het block
print $block['subject'];
// Voor de inhoud van het blok
print $block['content'];
?>
1 reactie
Betere NODE in BLOCK oplossing!
Door Hogans (niet gecontroleerd) op vr, 20/05/2011 - 17:09Voor het laden een node in een block is er een betere oplossing.
Hiermee zal de volledige node goed opgehaald worden door de Drupalcore.
<?php
$xNode = ID; /* De ID van jouw node */
$node = node_load($xNode);
if (user_access('administer nodes'))
{
$nodeurl = url('node/'. $node->nid);
print('[edit]');
}
$nodeout = node_view($node);
print $nodeout;
?>
Reactie toevoegen