Par défaut rendu d'une fonction twig
Bonjour, j'ai l'erreur suivante lors du rendu du resultat d'une fonction twig:
$(".ariane").html('{{ knp_menu_render('breadcrumd',{
'currentAsLink':false,
'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
})}}');
SyntaxError: unterminated string literal
$(".ariane").html('il me met une flèche ici après la simple cote <ul class="breadcrumbs">..........
Pour information fonction knp_menu_render() retourne une chaine html, voir ci-dessous
<ul class="breadcrumbs">
<li class="first">
<a href="/catalogue"><span>Accueil</span><span class="arrow">></span></a>
</li>
<li class="current last"><span>PC portable polyvalents</span>
</li>
</ul>
j'ai essayer différent filtre comme par exemple le filtre escape('js'):
$(".ariane").html('{{ knp_menu_render('breadcrumd',{
'currentAsLink':false,
'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
})|escape('js') }}');
le resultat fonctionne mais j'ai ceci dans l'affichage du code source:
Code :Sélectionner tout - Visualiser dans une fenêtre à part
$(".ariane").html('\x20\x20\x20\x20\x20\x20\x20\x20\x3Cul\x20class\x3D\x22breadcrumbs\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x.......
et si je met le filtre escape('html') ca ne fonctionne pas:
$(".ariane").html('{{ knp_menu_render('breadcrumd',{
'currentAsLink':false,
'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
})|escape('html') }}');
Résultat:
(".ariane").html(' <ul class="breadcrumbs">
<li class="first"> <a href="/catalogue">
Une idée les amis sur cette affichage suspect
Merci a tous si vous avez la moindre idée
J'ai cette erreur quand j'écris cela:
SyntaxError: missing ; before statement
<ul class=" (il me dit l'erreur ici,le point virgule avant) breadcrumbs">
et le code source généré:
$(".ariane").html(" <ul class="breadcrumbs">
<li class="first"> <a href="/catalogue">
<span>Accueil</span>
<span class="arrow">></span>
</a>
</li>
<li class="current last"> <span>PC portable polyvalents</span>
</li>
mon sript est le suivant :
$(".ariane").html("{{ knp_menu_render('breadcrumd',{
'currentAsLink':false,
'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
})}}");
par ailleurs si j'évite des retour a la ligne dans mon script l'erreur change pour:
SyntaxError: missing ) after argument list
<ul class="il me dit l'erreur ici,le point virgule breadcrumbs">
Sorcier cette histoire l'ami
Merci en tout cas de ton aide
Bonjour,
Attention au " et ', votre problème viens de là. Il vous faut échapper ces codes.
Oui, j'essaie effectivement d'échapper ces différents caractères mais impossible pour l'instant.
De plus j'ai essayé le filtre twig "|escape('js')", le script fonctionne mais la fonction Javascript et de cette forme asci:
http://donsnotes.com/tech/charsets/ascii.html
$(".ariane").html('\x20\x20\x20\x20\x20\x20\x20\x20\x3Cul\x20class\x3D\x22breadcrumbs\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x.....
$(".ariane").html('{{ knp_menu_render('breadcrumd',{
'currentAsLink':false,
'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
})|escape('js') }}');