IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

rendu d'une fonction twig [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut rendu d'une fonction twig
    Bonjour, j'ai l'erreur suivante lors du rendu du resultat d'une fonction twig:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $(".ariane").html('{{ knp_menu_render('breadcrumd',{
    'currentAsLink':false,
    'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
    })}}');
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <ul class="breadcrumbs">
         <li class="first"> 
             <a href="/catalogue"><span>Accueil</span><span class="arrow">&gt;</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'):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(".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:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $(".ariane").html('{{ knp_menu_render('breadcrumd',{
    'currentAsLink':false,
    'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
    })|escape('html') }}');
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    (".ariane").html(' &lt;ul class=&quot;breadcrumbs&quot;&gt;
    &lt;li class=&quot;first&quot;&gt; &lt;a href=&quot;/catalogue&quot;&gt;
    Une idée les amis sur cette affichage suspect

    Merci a tous si vous avez la moindre idée

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Si tu essayes d'imbriquer des simple quotes, tu vas avoir des problèmes...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    Oui il y à bien un problème de cote mais j'ai ne trouve actuellement aucune solution

  4. #4
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var content = "{{ knp_menu_render('breadcrumd',{
      'currentAsLink':false,
      'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'
    })}}";
    $(".ariane").html(content);
    Comme ça ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    J'ai cette erreur l'ami

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SyntaxError: missing ; before statement
    	
    
    var content = "        <ul class="il me dit l'erreur ici breadcrumbs">
    Merci en tout cas

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 98
    Points : 163
    Points
    163
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var content = "{{ knp_menu_render('EcommerceUtilityBundle:Default:knp_menu',{ 'currentAsLink':false }) | raw}}";
    $(".ariane").html(content);
    Il faut passer la chaine de carracterères que contiens "var content" sur une seule ligne, sa devrait résoudre le "missing statement".
    Ensuite j'ai regardé la les options de knp j'ai pas trouvé 'template', du coup j'ai modifié ta fonction.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    salut Garniture, dit moi, as tu essayé de remplir un div réelement dans une page web en cas réel pour voir les erreurs.

    J'ai l'erreur suivante maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SyntaxError: missing ) after argument list

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SyntaxError: missing ; before statement
    Merci en tout cas

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 98
    Points : 163
    Points
    163
    Par défaut
    Il faut croire que j'etais mal reveillé, quand j'ai posté la premiere fois.
    ne mixes pas de Jquery et Twig.
    essaie de faire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div id="menu">{{ knp_menu_render('EcommerceUtilityBundle:Default:knp_menu',{ 'currentAsLink':false }) | raw}}</div>
    <script>var content = $("#menu");</script>

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    501
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 501
    Points : 102
    Points
    102
    Par défaut
    Merci l'ami tu m'a mis sur des pistes

    j'ai don fait ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="menu">
    {{ knp_menu_render('breadcrumd',{'currentAsLink':false,'template': 'EcommerceUtilityBundle:Default:knp_menu.html.twig'})
    </div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script>
    var content = $("#menu");
     
    $(".ariane").html(content);
    </script>
    il récupère le div d'identifiant menu et le balance dans mon identifiant ariane.

    Tout fonctionne correctement, merci tout le monde

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Récupérer la valeur d'une fonction dans twig
    Par ilya-bhn dans le forum Symfony
    Réponses: 3
    Dernier message: 13/03/2015, 12h28
  2. [2.x] résultat d'une fonction du controlleur dans un template twig
    Par yanning dans le forum Symfony
    Réponses: 4
    Dernier message: 12/08/2014, 15h12
  3. Réponses: 5
    Dernier message: 17/05/2013, 14h52
  4. [2.x] Surcharger une fonction Twig dans un autre bundle
    Par kokoro62 dans le forum Symfony
    Réponses: 0
    Dernier message: 12/06/2012, 16h06
  5. Réponses: 2
    Dernier message: 17/06/2008, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo