@rthur Posted August 17, 2022 Share Posted August 17, 2022 Bonjour, Je cherche un peu d'aide car un ancien développeur avait fait des modifications directement dans le thème classique de mon presta 1.7.4.3. Ca me cause pas mal de soucis. Celui que j'ai actuellement c'est que j'ai à ce jour 2 catégories avec listing produits. Si je crée une nouvelle catégorie, le nom de cette dernière s'affiche en h1 mais aucun produit ne s'affiche (j'ai bien vérifié de mettre des produits dans cette nouvelle catégorie). Je pense avoir identifié une partie du problème. Voici la partie du code qui me semble poser problème dans product-list.tpl <div id="js-product-list"> <ul class="clearfix"> {assign var=nb value=0} {foreach from=$subcategories item=subcategory} {assign var=nb value=$nb+1} <li class="" > <div class="container" style="padding-left: 0px;padding-right: 0px;" > {if $category.id == 10 OR $category.id == 52} <div class="{if Context::getContext()->isMobile() OR Context::getContext()->isTablet()}card{else}card card-block{/if} " style="margin-left: -5px;margin-right: -5px;"> {if $subcategory.id_category == 56}{else} <h2>{$subcategory.name|escape:'html':'UTF-8'}</h2> {$subcategory.description nofilter} </div> {/if} {/if} <br class="clear"> {assign var=getProduct value=FrontController::GetProductsFromCategory($subcategory.id_category)} <div class="products row"> {foreach from=$getProduct item=item_product name=item_name} {include file='catalog/_partials/miniatures/product.tpl' product=$item_product} {/foreach} </div> {if $category.id != 10} <div class="card card-block " style="margin-left: -5px;margin-right: -5px;"> <h2>{$subcategory.name|escape:'html':'UTF-8'}</h2> {$subcategory.description nofilter} </div> {/if} </div> </li> {/foreach} </ul> </div> Et qui renvoi vers le front-controller.php public function GetProductsFromCategory($id_category) { $category=new Category($id_category,(int)Context::getContext()->language->id,1); $products = $category->getProducts( (int)Context::getContext()->language->id, 0, 40 ); foreach($products as $key => $prod){ $url=new Link(); $products[$key]['url']=$url->getProductLink($products[$key]['id_product']);//$products[$key]['id_product'];//$url->getProductLink(1980); //$products[$key]['id_image']=''; //print_r($products[$key]['id_image']); //echo '-------------------<br>'; if(!isset($products[$key]['cover'])){ $id_image=$products[$key]['id_image']; $sql = 'SELECT * FROM `instaps_image` WHERE id_product='.$products[$key]['id_product'].' ORDER BY cover DESC, position DESC LIMIT 1'; //echo $sql.'<br>'; $result2 = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql, true, false); foreach($result2 as $key3 => $arr){ $id_image=$arr['id_image']; } $products[$key]['cover']=array(); $link = new Link;//because getImageLInk is not static function $imagePath = $link->getImageLink($id_image, $id_image, 'home_default'); //echo $imagePath.'<br>'; $products[$key]['cover']['bySize']['home_default']['url']='https://'.$imagePath;//'http://sevensboutiques.com/img/p/2/4/24-home_default.jpg'; $products[$key]['cover']['large']['url']='https://'.$imagePath;//'http://sevensboutiques.com/img/p/2/4/24-home_default.jpg'; } if(!isset($products[$key]['flags'])){ $products[$key]['flags']=0; } $products[$key]['has_discount']=0; $products[$key]['main_variants']=0; $products[$key]['price']=number_format($products[$key]['price'], 2, ',', ' ').' €'; } //print_r($products); return $products;//json_encode($products,true); } Je sais que c'est pas facile sans mettre le nez dans le code mais auriez-vous une idée de ce qui bloque mes nouvelle catégories ? Merci Link to comment Share on other sites More sharing options...
Ali Samie Posted August 17, 2022 Share Posted August 17, 2022 10 minutes ago, @rthur said: return $products cela contient-il des produits? Link to comment Share on other sites More sharing options...
Ali Samie Posted August 17, 2022 Share Posted August 17, 2022 (edited) 12 minutes ago, @rthur said: $sql = 'SELECT * FROM `instaps_image` WHERE id_product='.$products[$key]['id_product'].' ORDER BY cover DESC, position DESC LIMIT 1'; //echo $sql.'<br>'; $result2 = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql, true, false); Vérifiez également si le nom de la table est correct. avez-vous une table comme 'instaps_image' ou 'ps_instaps_image' ?? Edited August 17, 2022 by stifler97 (see edit history) Link to comment Share on other sites More sharing options...
@rthur Posted August 17, 2022 Author Share Posted August 17, 2022 1 hour ago, stifler97 said: cela contient-il des produits? Oui puisque j'ai 2 catégories qui génèrent un listing produit. Sauf que toute nouvelle catégorie créée n'en génère pas... 1 hour ago, stifler97 said: Vérifiez également si le nom de la table est correct. avez-vous une table comme 'instaps_image' ou 'ps_instaps_image' ?? Oui j'ai bien instaps_image Link to comment Share on other sites More sharing options...
Zythom Posted August 18, 2022 Share Posted August 18, 2022 Je ne suis pas un pro mais votre code ne sélectionne-t-il pas que 2 catégories ? (Id==10 et id==52) A voir si ce sont les id de catégories qui s'affichent correctement, ce qui pourrait être une piste... Link to comment Share on other sites More sharing options...
@rthur Posted August 18, 2022 Author Share Posted August 18, 2022 2 hours ago, Zythom said: Je ne suis pas un pro mais votre code ne sélectionne-t-il pas que 2 catégories ? (Id==10 et id==52) A voir si ce sont les id de catégories qui s'affichent correctement, ce qui pourrait être une piste... Il y a effectivement cette sélection mais ca ne concerne pas l'affichage des produits mais plus le design de la page Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now