Est-il possible de transmettre par programmation des paramètres à un bloc?
8
Selon l'autre réponse , les blocs sont «stupides» et n'ont pas la possibilité d'avoir des arguments «passés». Ils peuvent cependant récupérer des arguments du contexte de la page, comme les ID de nœud, l'utilisateur actuel, etc.
Vous avez vraiment deux choix «faciles»:
Vous ne pouvez rien transmettre par programme à un bloc AFAIK. Vous pouvez autoriser la configuration d'un bloc (en utilisant hook_block_configure dans D7). Alternativement, vous pouvez créer votre propre fonction de thème et vous pouvez passer des arguments à cela. Qu'est-ce que tu essaies de faire?
la source
Configurez le filtre contextuel choisissez "Fournir la valeur par défaut" type => "code php" et utilisez l'argument que vous voulez. ex: return arg (1);
la source
Pour le cas spécialisé (mais répandu) où votre bloc est un affichage d'une vue, vous pouvez utiliser
views_embed_view
pour rendre le bloc avec les paramètres qu'il obtient via les filtres contextuels de la vue (c'est-à-dire, normalement à partir de l'URL).Par exemple:
Tous les paramètres après le second seront passés en tant que valeurs de filtre contextuelles au bloc.
Source: Réécrit à partir de cette réponse par David Thomas , licencié CC-BY-SA 3.0
la source