Jump to content

[Résolu]Probleme d'affichage de la liste de produits


Recommended Posts

Bonjour prestacommunauté!

Je viens vers vous car je suis face à un problème qui me laisse pantois.

 

J'utilise presta 1.6.0.14 avec le thème megastore en mode multiboutique.

 

J'ai importé avec succès mes produits mais je me retrouve actuellement avec un problème d'images:

 

Mes images sont bien présentes sur la fiche produit en BO

Elles sont également présentes sur la fiche produit en FO

Cependant, elle sont remplacées pour la plupart par l'inénarrable "?" sur la liste des produits en FO et les images présentes dans la liste des produits en BO ne s'affichent pas toutes...

également, elles ne s'affichent ni dans le bloc "nouveaux produits" ni dans les meilleurs ventes...

 

J'ai importé mon dossier p dans le dossier img, supprimé le .htaccess (plusieurs fois je l'avoue parce que je ne savais pas trop d'où pouvait provenir ce problème...), régénéré les miniatures, vidé le dossier cache/smarty/compile et cache/smarty/cache... bref! j'ai tenté tout ce que je pouvais faire mais je ne trouve pour le moment pas la solution

 

je vous mets les captures pour que vous puissiez mieux cerner le probleme car je me rend comopte que mes explications ne sont pas forcément claires

 

 

si quelqu'un aurait une piste pour me guider vers la félicité je serais vraiment reconnaissant.

 

Merci d'avance à la prestacommunauté ^^

post-911020-0-95616500-1426693814_thumb.jpg

post-911020-0-61105600-1426693823_thumb.jpg

post-911020-0-92941100-1426693828_thumb.jpg

Edited by kingfaya (see edit history)
Link to comment
Share on other sites

Bonjour,

 

Il te manque sans doute un ou plusieurs types d'images.

Tu fais un clic droit sur un de tes points d'interrogation, puis afficher l'image et tu verras de quel type d'image qu'il s'agit.

Puis dans Préférences, images, tu recherches ou crées le type d'image manquant et tu régénères.

 

Amicalement :)

Link to comment
Share on other sites

Bonjour

 les images de la liste pointent toutes vers cette adresse: /img/p/fr-default-home_default.jpg

Et c'est cela que j'ai un peu de mal a comprendre... certaines images s'affichent très bien (voir les captures d'écran), tandis que d'autre ne s'affichent tout simplement pas...

je suis un peu perdu j'ai testé déjà pas mal de solutions trouvées sur le forum mais sans succès.

je vais essayer ce que tu m'a suggéré et je reviens juste après ^^.

 

edit

 

j'ai régénéré les images produit de la catégorie home_default mais rien n'y fait...

ça sent pas bon... je sent sque je vais devoir uploader les images a la main... mais sur 2500 produits cela risque d'être long...

Edited by kingfaya (see edit history)
Link to comment
Share on other sites

@ P i l o u : je vais tester ça de suite.

 

@ GTL-WEB : non je ne peux te donner un accès à la boutique, Je travail sur serveur de test et l'accès y est limité. Il va malheureusement falloir faire confiance aux screenshots et donner du crédit à mes paroles je ne peux faire mieux pour vous...

je sais que, du coup, ce sera moins facile pour vous de cerner le problème et donc de trouver une solution mais je ne peux faire mieux.

 

Cependant, ce qui m'intrigue c'est que les images qui s'affichent sont sur un format différent:

 

/img/p/1/1/11-home_default.jpg

 

Pour celles qui ne s'affichent pas, j'ai l'impression que le presta charge l'image par défaut (d’où le /img/p/fr-default-home_default.jpg) comme si l'image n'existait pas du tout.

Edited by kingfaya (see edit history)
Link to comment
Share on other sites

Dans un premier temps essaies la solution de P i l o u.

Si ça ne corrige pas le problème :

As-tu accès aux fichiers du site ?
Si oui, édites le fichier /themes/ton_theme/product-list.tpl et cherches la ligne :
<img class="replace-2x img-responsive" src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}...

 

Qu'as-tu à la place de 'home_default' ?

Edited by GTL-WEB (see edit history)
Link to comment
Share on other sites

Et bien j'ai "home_default"...

 

Le TPL m'a l'air correct pour autant que mes connaissances me permettent de le voir. J'avais déjà penché pour cette piste mais ça ne colle pas: certaines images s'affichent et d'autre pas. Du coup j'en suis arrivé à penser que si le TPL avait un défaut, aucune image ne s'afficherait...

 

raaaaahhh la frustration commence à me gagner (ça fait trois jours que je bute sur ce "petit" problème d'affichage... et j'ai testé tout ce que j'ai pu trouver sur le forum mais sans succès pour le moment.)

Link to comment
Share on other sites

hmmmm... possible. Dans quel fichier puis-je le trouver pour le modifier stp?

en y repensant, je vais le modifier au cas ou mais j'ai fait la régénération hier en faisant individuellement chaque type d'image et chaque type de format (ce qui réduit grandement le temps d’exécution).

Link to comment
Share on other sites

Tu peux essayer d'ajouter un @ini_set('max_execution_time', 0); dans ton fichier /config/defines.inc.php mais ce n'est pas sur que cela fonctionne (en fonction de la configuration de ton serveur), puis re-essaie de faire la génération des images home_default. 

Link to comment
Share on other sites

oui plusieurs fois mais sans succès pour le moment... je vais réessayer on ne sait jamais

 

edit:

 

ah tiens non! ça ne marche pas mieux..

j'ai 2 erreurs (ce qui me parait acceptable sur 2500 produits)

 

  1. Original image is missing or empty (/home/prestashop/www/img/p/6/7/3/7/6737.jpg) for product ID 2764
  2. Original image is missing or empty (/home/prestashop/www/img/p/6/7/3/8/6738.jpg) for product ID 2765
Edited by kingfaya (see edit history)
Link to comment
Share on other sites

bonjour!

non je n'ai pas encore vérifié effectivement et c'est par là que j'aurais dû commencer!! (boulet... --' )

je check ça et je te redis...

merci de votre aide et de votre patience

 

edit

bon bah ça vient pas de là... j'ai le même problème sous bootstrap...

Mais ceci dit j'ai une petite idée que j'aimerais tester. Je vous tiens au courant des que je l'ai mise en place pour vous dire si cela a marché ou pas.

Edited by kingfaya (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...

Bonjour, je me permets de revenir vers vous car je n'ai toujours pas de réponse à mon problème... petit rappel des faits:

Je suis sous presta 1.6.0.14 et j'ai importé une liste de produits sur un site en multiboutique. J'ai ensuite  copié mon dossier "p" deans le dossier img, les tables ps_image, ps_image_shop et ps_image_lang dans la BDD correspondante.

Cependant les images de mes produits ne s'affichent pas en Front Office, elles s'affichent plus ou moins en BO (elles s'affichent... ou pas dans la liste des produit a laquelle on accède via le menu Catalogue->produit) dans la liste produit mais elles s'affichent TOUTES dans la fiche produit (Catalogue->produit/ sélection du produit en question puis onglet images.)

J'ai testé a peu près toutes les solutions qui se proposaient dans le forum mais rien de probant pour le moment. Avez vous une idée de comment corriger ce truc ou connaissez vous quelqu'un pouvant me donner une piste sur la résolution de ce problème svp?

Je vous en serait grandement reconnaissant.

Link to comment
Share on other sites

Bonjour, j'ai finalement réussi à régler mon probleme.

Néanmoins je n'ai pu utiliser d'autre solutions que de vérifier chaque fiche produit et cocher les cases d'affichage et de couverture (ça m'a pris 3 jours pour environ 2500 produits)

Alors pour moi ce problème est résolu mais d'une manière qui, pour moi, n'est pas satisfaisante ^^

Merci en tout cas d'avoir été disponible pour me filer un coup de main.

Excellente journée a vous ^^

Link to comment
Share on other sites

  • 6 months later...

Salut quel courage tu as eu ! :)

je viens d'être confronté au meme phénomène, il est récurrent dés que tu bricoles des imports csv entre des boutiques ou en transferant des images sur une autre install en copiant les images et les tables de la bdd, enfin bon des trucs un peu bizarres.

Pour ma part c'était la table ps_image_type qui était vidée.

il y a une correspondance à faire entre les format d'images utilisé qui n'apparaissent pas dans ton theme et cette table qui définnit tout les types d'images.

Les messages d'erreur sont assez abscons cela soit dit :)

Edited by remmmib (see edit history)
Link to comment
Share on other sites

  • 3 years later...

bah ça depend du type d'images manquantes dans ton template.. si ton template product.tpl appel des images du type man_default (par ex) ca va pas faire, tu ne peux y appeler que celle entre 226 et 231, tu vois le principes ? en fait cette table détermine les miniatures qui vont être générées à chaque import.  

Link to comment
Share on other sites

Les images sont tout la le dossier et bien complet

Ces Prestashop qui modifie l'URL.

Peut être par ce que les photo sont pas de bonne taille

Pourtant j'ai achetée un module pour résise les photos

Car avec prestashop ça plante le dossier photo fait 10go

Link to comment
Share on other sites

 exemple sur le new site image produits mauvaise url

img/p/7/3/8/0/7380-default_small.jpg?time=1552471756918

sur l'ancien site bonne url

/img/p/7/3/8/0/7380-small_default.jpg

 

tous les photo de prestation sont aussi en /img/p/fr-default-home_default.jpg

donc idéé conseil car c'est 😥

Link to comment
Share on other sites

tu as un soucis dans ton template, pas dans tes images à priori .. regarde dans ton code source html (ctrl+shift+i), partout au niveau d'une image manquante :

<a class="product_img_link" href="http://site.fr/casques-et-ecouteurs-au-meilleur-prix/oreillette-bluetooth-xiaomi-youth-mini-original-ecouteur.html" title="Oreillette Bluetooth Xiaomi Youth Mini Original écouteur">
     <img class="first-img replace-2x img-responsive" src="http://site.fr/img/p/fr-default-home_default.jpg" alt="Oreillette Bluetooth Xiaomi Youth Mini Original écouteur" title="Oreillette Bluetooth Xiaomi Youth Mini Original écouteur" width="" height="" itemprop="image">
     <img src="http://site.fr/31844-home_default/oreillette-bluetooth-xiaomi-youth-mini-original-ecouteur.jpg" class="second-img img-responsive current img_0" alt="" width="" height="">
</a>

Dans le premier <img> l'adresse de l'image n'est pas bonne, elle ne contient meme pas d'id , la deuxieme oui, mais c'est la premiere qui est affichée sauf quand tu passes dessus .
Je ne vais pas rentrer dans le détail, je ne connais pas le source de ton template ni même la fonction que tu veux faire avec ce doublon mais là c'est clairement pas un soucis d'image manquante, c'est un soucis d'affichage, il faudrait voir tes sources, tu peux corriger la génération du lien dans le tpl, et si tout semble ok c'est peut-etre en js que ça se joue.

Edited by remmmib (see edit history)
Link to comment
Share on other sites

bah j'imagine que le bout de code dans le template qui génére les boites produits ne contient pas le code qui appel l'image ...

faudrait voir le bout de code du template qui génére le html que je t'ai montré, et le débuguer ..

mais s'il n'y a meme pas l'id de l'image dans le lien il faudrait commencer par trouver pourquoi, et ça y a qu'en débugant le tpl que tu peux comprendre d'ou ça vient.

Link to comment
Share on other sites

{*

* 2007-2014 PrestaShop

*

* NOTICE OF LICENSE

*

* This source file is subject to the Academic Free License (AFL 3.0)

* that is bundled with this package in the file LICENSE.txt.

* It is also available through the world-wide-web at this URL:

* http://opensource.org/licenses/afl-3.0.php

* If you did not receive a copy of the license and are unable to

* obtain it through the world-wide-web, please send an email

* to [email protected] so we can send you a copy immediately.

*

* DISCLAIMER

*

* Do not edit or add to this file if you wish to upgrade PrestaShop to newer

* versions in the future. If you wish to customize PrestaShop for your

* needs please refer to http://www.prestashop.com for more information.

*

*  @author PrestaShop SA <[email protected]>

*  @copyright  2007-2014 PrestaShop SA

*  @license    http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)

*  International Registered Trademark & Property of PrestaShop SA

*}

{include file="$tpl_dir./errors.tpl"}

{if isset($category)}

    {if $category->id AND $category->active}     

    {if isset($roythemes.nc_cat) && $roythemes.nc_cat == "1"}

        {if $scenes || $category->description || $category->id_image}   

            

            <div class="content_scene_cat">

                 {if $scenes}

                     <div class="content_scene">

                        <!-- Scenes -->

                        {include file="$tpl_dir./scenes.tpl" scenes=$scenes}

                        {if $category->description}

                            <div class="cat_desc rte">

                            {if Tools::strlen($category->description) > 1000}

                                <div id="category_description_short">{$description_short}</div>

                                <div id="category_description_full" class="unvisible">{$category->description}</div>

                                <div class="showmore"><a href="{$link->getCategoryLink($category->id_category, $category.link_rewrite)|escape:'html':'UTF-8'}" class="lnk_more">{l s='Show More'}</a></div>

                            {else}

                                <div>{$category->description}</div>

                            {/if}

                            </div>

                        {/if}

                        </div>

                    {else}

                    <!-- Category image -->

                     {if $category->id_image}<img class="content_scene_cat_bg" src="{$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html':'UTF-8'}">{/if}

 

                     {if $category->description}

                         <div class="cat_desc">

                             {if Tools::strlen($category->description) > 1000}

                                 <div id="category_description_short" class="rte">{$description_short}</div>

                                 <div id="category_description_full" class="unvisible rte">{$category->description}</div>

                                 <div class="showmore"><a href="{$link->getCategoryLink($category->id_category, $category->link_rewrite)|escape:'html':'UTF-8'}" class="lnk_more">{l s='Show More'}</a></div>

                             {else}

                                 <div class="rte">{$category->description}</div>

                             {/if}

                         </div>

                     {/if}

                  {/if}

            </div>

        {/if}

    {/if}

    {if isset($roythemes.nc_subcat) && $roythemes.nc_subcat == "1"}

        {if isset($subcategories)}

            {if (isset($display_subcategories) && $display_subcategories eq 1) || !isset($display_subcategories) }

                <!-- Subcategories -->

                <div id="subcategories">

                    <ul class="clearfix">

                        {foreach from=$subcategories item=subcategory}

                            <li>

                                <div class="subcategory-image">

                                    <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img">

                                    {if $subcategory.id_image}

                                        <img class="replace-2x img-responsive" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'category_default')|escape:'html':'UTF-8'}" alt=""  />

                                    {else}

                                        <img class="replace-2x img-responsive" src="{$img_cat_dir}default-medium_default.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />

                                    {/if}

                                    </a>

                                </div>

                                <h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'|truncate:350}</a></h5>

                                {if $subcategory.description}

                                    <div class="cat_desc">{$subcategory.description}</div>

                                {/if}

                            </li>

                        {/foreach}

                    </ul>

                </div>

            {/if}

        {/if}        

    {/if}        

        {if $products}

            <div class="content_sortPagiBar cat_top clearfix">

                <div class="sortPagiBar clearfix">

                    {include file="./product-sort.tpl"}

                    {include file="./product-compare.tpl"}

                    <div class="product-count">

                        {if ($n*$p) < $nb_products }

                            {assign var='productShowing' value=$n*$p}

                        {else}

                            {assign var='productShowing' value=($n*$p-$nb_products-$n*$p)*-1}

                        {/if}

                        {if $p==1}

                            {assign var='productShowingStart' value=1}

                        {else}

                            {assign var='productShowingStart' value=$n*$p-$n+1}

                        {/if}

                        {if $nb_products > 1}{l s='Showing %1$d - %2$d of %3$d items' sprintf=[$productShowingStart, $productShowing, $nb_products]}{else}{l s='Showing %1$d - %2$d of 1 item' sprintf=[$productShowingStart, $productShowing]}{/if}

                    </div>

                </div>

            </div>

 

            {assign var='lalala' value=$roythemes.nc_p_hover}

 

            {include file="./product-list.tpl" products=$products}

 

            <div class="content_sortPagiBar cat_bottom">

 

                <div class="sortPagiBar clearfix">

                    {include file="./product-sort.tpl"}

                    {include file="./product-compare.tpl"}

                    <div class="product-count">

                        {if ($n*$p) < $nb_products }

                            {assign var='productShowing' value=$n*$p}

                        {else}

                            {assign var='productShowing' value=($n*$p-$nb_products-$n*$p)*-1}

                        {/if}

                        {if $p==1}

                            {assign var='productShowingStart' value=1}

                        {else}

                            {assign var='productShowingStart' value=$n*$p-$n+1}

                        {/if}

                        {if $nb_products > 1}{l s='Showing %1$d - %2$d of %3$d items' sprintf=[$productShowingStart, $productShowing, $nb_products]}{else}{l s='Showing %1$d - %2$d of 1 item' sprintf=[$productShowingStart, $productShowing]}{/if}

                    </div>

                </div>

 

                <div class="bottom-pagination-content clearfix {if !($nb_products > $products_per_page && $start!=$stop)}no-border{/if}">

                    {include file="./nbr-product-page.tpl"}

                    {include file="./pagination.tpl" paginationId='bottom'}

                </div>

            </div>

        {/if}

    {elseif $category->id}

        <p class="alert alert-warning">{l s='This category is currently unavailable.'}</p>

    {/if}

{/if}

Link to comment
Share on other sites

ce n'est pas le bon tpl, essaie de te repérer dans les tpl pour comprendre comment c'est fait.

là ton tpl doit en appeler un autre qui contient le bout de code incriminé, tu peux faire une recherche sur "product_img_link" par exemple pour voir si t'est au bon endroit, et regarder si ce qui suit ressemble bien au bout de code que je t'ai montré.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...