Si vous développez sur Ibexa depuis quelques années, vous avez pris pour habitude de passer des paramètres personnalisés à une vue, vous utilisiez le contrôleur Symfony ibexa_content::viewAction.
Cette époque est révolue. Avec l'arrivée du support des paramètres dans les fonctions Twig natives, le vent tourne. Voici pourquoi vous devrez changer dans vos habitudes dès aujourd'hui.
On passait par une sous-requête Symfony pour injecter nos données :
{# ❌ À éviter désormais pour les rendus simples #}
{{ render(controller('ibexa_content::viewAction', {
'contentId': content.id,
'viewType': 'line',
'params': { 'my_param': 'custom_data' }
})) }}
On utilise le helper dédié qui gère tout en interne :
{# ✅ La recommandation actuelle #}
{{ ibexa_render(content, {
'viewType': 'line',
'params': { 'my_param': 'custom_data' }
}) }}
La fonction render(controller(...)) de Symfony crée ce qu'on appelle une sous-requête. Le noyau de Symfony doit recréer un cycle de vie complet (Request, Kernel Events, etc.). À l'inverse, ibexa_render avec la méthode par défaut (direct) appelle directement le moteur de rendu. C'est plus léger, plus rapide, et moins gourmand en mémoire.
En utilisant ibexa_render, vous indiquez clairement que vous rendez un objet du CMS. Le code est plus court et beaucoup plus facile à maintenir pour un nouveau développeur sur le projet.
Le bloc params de la fonction Twig fait exactement la même chose que celui du contrôleur. Vous ne perdez aucune fonctionnalité, mais vous gagnez en clarté.
Le passage est indolore. Dans votre template de destination (votre "View Template"), rien ne change. Les variables que vous passez dans le tableau params restent accessibles sous le même nom.
Exemple de transition :
Vous en avez marre d'avoir les logs de vos jobs dans la base de données ...
Si vous développez sur Ibexa depuis quelques années, vous avez pris pour habitude de passer ...
Code Rhapsodie reprend la maintenance du package oauth2-apple de Patrick Bussmann. Ce fork garantit la ...
La suggestion de mots-clés de Taxonomy est disponible dans Ibexa DXP avec le pack de ...
Importing a very large SQL file can be problematic, sometimes causing your virtual machine (VM) ...
Sylius et Shopware sont deux outils (framework) permettant la réalisation d'un site e-commerce. Comment choisir ...
Ibexa published a security advisory and subsequently released new versions of Ibexa DXP v4.6.26 and ...
Connaissez-vous les Actions IA (AI Actions) d'Ibexa ? Les AI Actions, sont une solution extensible ...
Is the suitability of the names given to the different zones in the Ibexa DXP ...