J'utilise SonataAdminBundle pour mon projet et je souhaite remplacer un bloc.Symfony2 Remplacer une partie du modèle d'un ensemble tiers
Si je crée un modèle dans app/Resources/views/SonataAdminBundle/views/standard_layout.html.twig
vider le cache et le faire:
{% extends 'SonataAdminBundle::standard_layout.html.twig' %}
{% block theBlockIWantToOverride %}
{% endblock %}
J'obtiens une erreur Maximum function nesting level of '250' reached, aborting!
.
Si je supprime la pièce extends
, cela rend une page vierge. Au lieu de cela, je dois copier le contenu entier du fichier dans ce nouveau fichier, puis modifier le contenu du bloc. Je sais que c'est comme ça que fonctionne Symfony2, je ne sais pas s'il y a une solution de contournement sans avoir tout le code là-bas?
La raison pour laquelle je veux faire ceci est parce que j'utilise SensioLabsInsight et il m'embête à propos du filtre de brindille raw
que SonataAdminBundle utilise. Je sais que je peux juste ignorer l'avertissement, mais il se sent mal.
Aussi, j'essayé de remplacer le faisceau en créant un faisceau php app/console generate:bundle
puis dans src/fournisseur/AdminBundle/VendorAdminBundle.php I ajouté:
/**
* {@inheritdoc}
*/
public function getParent()
{
return 'SonataAdminBundle';
}
et fait le procédé ci-dessus, ajouté une src/Vendor/AdminBundle/Vendor/Resources/views/standard_layout.html.twig
qui didn ne résoudra pas le problème. Encore une fois, obtenez l'erreur de niveau d'imbrication.
cela fonctionne! Je ne sais pas comment je n'ai pas pensé à ça!Merci de m'avoir aidé à avancer avec ça! –