J'ai chargé un sujet et un contenu de bloc avec module_invoke()
et utilisé render()
pour les rendre. Je souhaite utiliser des liens contextuels pour ce bloc. Comment puis-je les rendre aussi?
C'est le code que j'utilise dans le modèle page - front.tpl.php.
$block = module_invoke('block', 'block_view', '4);
print render($block);
Quel code dois-je utiliser à la place?
La réponse de Bart donnera un avertissement Strict Standards (activé par défaut en PHP 5.4). Pour résoudre ce problème, utilisez simplement une variable intermédiaire pour le tableau pouvant être rendu:
La raison pour laquelle l'avertissement se produit est que la
drupal_render
fonction s'attend à ce que son paramètre soit une référence. Il a la signaturedrupal_render(&$elements)
. Pour plus d'informations, voir la réponse à cette question similaire .la source
Les liens contextuels sont utiles et très faciles à mettre en œuvre. Pour votre cas d'utilisation, vous devez implémenter
hook_block_view_alter()
pour modifier l'élément #contextual_links en fonction de vos besoins. Ces références vous aideront:GL :)
la source