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

  1. #1
    Membre régulier
    bug avec le même code twig qui ne marche pas d'une page à l'autre
    Bonjour à tous,

    Je code un blog pour rendre service, je n'ai plus qu'1 bug à résoudre et les réglages de publication pour en avoir fini.

    J'utilise la même portion de code pour afficher un aperçu des galeries photos sur la page d'accueil et dans la page d'affichage par catégorie.
    Sur la page d'accueil ça fonctionne mais pas dans l'affichage par catégories lors qu'il y a au moins une image en png dans la galerie.
    Je ne capte vraiment pas d'où ça vient.

    la portion de code en question :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <h1>{{ nombre }} Publications dans la catégorie "{{ categorie }}"</h1>
    
          {% for pub in publication %}
    
              [.........] 
    
              {% if pub.type is same as(1) %}
    
                  <br>
                  <a href="{{ path('Display_Gallery', {name: pub.author, id: pub.pubid, slug: pub.slug}) }}"> <h2>{{ pub.title }}</h2></a> 
                  <B>{{ pub.date|localizeddate('none', 'none', null, null, 'EEEE dd MMMM yyyy H:mm') }}</B>
    
                  <br> par <B><a href="{{ path('Display_Profil', { user: pub.author }) }}">{{ pub.author }}</a></B>         
    
                  <p><br>
                  <a href="{{ path('Display_Gallery', {name: pub.author, id: pub.pubid, slug: pub.slug}) }}">
                    {{pub.summary|raw}}
                  </a> 
                  <br></p>
                  
                  <p><B>{{ pub.category }}</B></p>
    
                  <hr size="3" noshade color="black" >
    
              {% endif %}
    
              [.........]
    
          {% endfor %}


    le problème vient du summary (de type varchar(4096) ) qui vaut dans ma BDD :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
     <img src="uploads/images/USER/test/_mini_150_dog_snapchat-5ec1bc9d7d070.png"> <img src="uploads/images/USER/test/_mini_150_stk_sh1bg-5ec1bc9de23c1.gif"> <img src="uploads/images/USER/test/_mini_150_vieux_sa_ge-5ec1bc9de273c.png">


    le summary est généré de cette façon :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
            $summary = '';
     
    	$images = scandir($dir);
    	dump($images);
    	if( !empty($images) ){
     
    		$gallery->setSummary( $summary );
    		$i = 0;
    		foreach( $images as $img){
     
    		      if($i < 3){
    		            $pos = strpos($img, 'mini_150');
    		            if( $pos == 1 ){
     
    			         $summary = $summary." "."<img src=\"".$gallery->getPath()."/".$img."\">";
     
    			         $i++;
     
    		            }
    	            }
    	            else 
    		          break;				
    	      }
          }


    La fonction qui gère la recherche par catégories :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
      /**
      * @Route("/Search_Publication_Category/{id}", name="Search_Publication_Category", methods="GET|POST") 
        *   @return Response
      */
      public function Search_Publication_Category(Category $id, PublicationRepository $repository, PaginatorInterface $paginator, Request $request): Response
      {
     
        $this->denyAccessUnlessGranted('ROLE_USER');
     
        $publication = new publication();
     
        $publication = $repository->findByPubCat($id->getId());
        $nb = sizeof( $publication );
     
        $publication = $paginator->paginate(
                $repository->findByPubCatQuery($id->getId()),
                $request->query->getInt('page', 1), 
                8
            );
     
        dump($publication);
     
        return $this->render('pages/searchByCat.html.twig', [
          'nombre' => $nb,
          'categorie' => $id,
          'publication' => $publication,
        ]);
     
      }

    J'obtiens cet affichage alors que sur l'accueil les images s'affichent :



    Je viens encore d'y passer 3h ce soir sans trouver d'où ça peut venir.
    Si vous avez besoin d'autres bouts de code pour m'éclairer, je pourrais les c/c.
    Merci
    “La folie, c’est se comporter de la même manière et s’attendre à un résultat différent.” Albert E.

  2. #2
    Invité
    Invité(e)
    Bonjour,

    que dit le "code source généré", concernant les images qui ne s'affichent pas ?

  3. #3
    Membre régulier
    Bonjour jreaux62
    merci pour cette piste

    il correspond au twig et est identique à celui du home

    (j'ai mis des retours à la ligne entre les images pour la lisibilité)

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <h1>3 Publications dans la catégorie "Cuisine"</h1>
     
     
                  <br>
                  <a href="/Display_Gallery/USER-test?id=107"> <h2>test</h2></a> 
                  <B>lundi 18 mai 2020 0:37</B>
     
                  <br> par <B><a href="/Display_Profil/USER">USER</a></B>         
     
                  <p><br>
                  <a href="/Display_Gallery/USER-test?id=107">
                     <img src="uploads/images/USER/test/_mini_150_dog_snapchat-5ec1bc9d7d070.png"> 
                     <img src="uploads/images/USER/test/_mini_150_stk_sh1bg-5ec1bc9de23c1.gif"> 
                     <img src="uploads/images/USER/test/_mini_150_vieux_sa_ge-5ec1bc9de273c.png">
                  </a> 
                  <br></p>
     
                  <p><B>Cuisine</B></p>
     
                  <hr size="3" noshade color="black" >
     
                 [......]


    Merci
    “La folie, c’est se comporter de la même manière et s’attendre à un résultat différent.” Albert E.

  4. #4
    Membre émérite
    Bonjour,

    Ton code source utilise des chemins relatifs.

    Peux-tu nous donner les URL des deux pages s'il-te-plait ? J'ai l'impression qu'elles ne sont pas au même niveau d'arborescence.

    Par exemple, si la page qui marche est "http://monsite.url/index.php" et que la seconde est "http://monsite.url/repertoire/index.php", alors :
    • dans la première page le lien suivant fonctionne <img src="uploads/images/USER/test/_mini_150_dog_snapchat-5ec1bc9d7d070.png">
    • dans la seconde page, ton lien doit être remplacé par <img src="../uploads/images/USER/test/_mini_150_dog_snapchat-5ec1bc9d7d070.png">


    Alexandre
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  5. #5
    Membre régulier
    BINGO !!!

    la page qui marchait : http://localhost:8000/home
    celle qui ne marchait pas : http://localhost:8000/Search_Publica...on_Category/10

    j'ai modifié à la main dans la BDD en ajoutant "../" devant le chemin de chaque image de la 1è publication elle s'affichent impec sur les 2 pages.
    tout ça pour ça, j'ai été bloqué un moment, grrr

    je répercute le truc dans mon php pour la génération du summary et je vous tiens au jus

    Merci beaucoup Alexandre T
    “La folie, c’est se comporter de la même manière et s’attendre à un résultat différent.” Albert E.

  6. #6
    Membre régulier
    C'était bien ça. En le répercutant dans mon php ça ne gène pas la page qui marchait, et celle qui ne fonctionnait pas, fonctionne.
    Désolé d'avoir posté pour si peu, je n'en pouvais juste plus des bugs sur ce dev, et j'évite de poster pour rien.

    Comme d'hab developpez.com toujours au top. MERCI beaucoup.
    Antoine
    “La folie, c’est se comporter de la même manière et s’attendre à un résultat différent.” Albert E.