osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Les images des sous-catégories ne s'affichent pas, pourtant le "titre" de la catégorie est présent !!
julia09
posté 2 Jun 2009, 16:39
Message #1


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 108
Inscrit : 8-December 08
Membre no 23888



Bonjour,

Voilà j'ai un petit soucis pour une seule de mes catégories, à savoir c'est la seule qui soit comme ca : catégorie/sous-catégories/sous_sous-catégories/produits.
Les autres sont comme ca : catégorie/sous-catégories/produits.

Et en fait dans ma catégorie qui a un échelon en plus, les images du bloc "nouveau produits pour mai" ne s'affichent pas, alors que le bandeau avec le titre de cette box est bien là !!!
Et après quand je clique sur une des sous-catégories j'ai bien le bloc entier.... voir . Comme vous le voyez j'ai bien mon titre, qui est "à la une" pour moi...

Ma question : est-ce parce que j'ai un échelon de plus que le bloc ne s'affiche pas correctement (mais c'est bizarre car il s'affiche en partie car il y a bien le titre!) ??

Comment faire pour que mon bloc apparaisse en entier ??
Merci


--------------------
Version : oscommerce-2.2ms2-FR-060817-2010 - PHP Version 4.4.9
Addons/contribs installés : Ultimate SEO Urls v2.6 (18 Aug 2008)+ bug fix Full package - GoogleXMLSitemapv1.3 - Heardabout_1_2 - Whosonlineturbov1.1fr - Freeamount 3.5e-c - Carrousel Flash - Anonymat Client pour critiques - Grandes images au passage de la souris (évite le "cliquer pour agrandir") - previous_next w_details_v3.4.0 - Show_Model_Picture_v1 - Ajout formulaire pour qté produit dans description produit - Store Mode 1_3 - Search_Price_Range_Pulldown_Menu-1.1.1 - Colissimo_v1.8 - Loginbox_5.7 - OrderCheck_2.5.1c - Send HTML Email V.2.1 - Store Pick Up 1.5 - Dynamic_sitemap_v3.5.10 - Quick Updates 2.8.3 Full_1 - En cours : CCGV5.21 + OSC PDF Catalog 2.0.9
Go to the top of the page
 
NoZic
posté 2 Jun 2009, 17:25
Message #2


Ceinture noire OSC
Icône de groupe

Groupe : Membres
Messages : 2871
Inscrit : 27-June 07
Lieu : Elancourt (78)
Membre no 18127



Bonjour,

Citation
est-ce parce que j'ai un échelon de plus que le bloc ne s'affiche pas correctement ... ??
Oui

Tout est normal dans ton comportement.

C'est le module des nouveaux produits qui ne cherche pas les produits dans les sous-sous-catégories mais au plus loin dans les sous-catégories.

Trop compliqué à poser par écrit pourquoi le titre s'affiche tout de même, il faut que tu décortiques le code, si ça t'intéresse...

Bon courage

Ce message a été modifié par NoZic - 2 Jun 2009, 17:26.


--------------------
"Les solutions existent toujours depuis longtemps, il suffit de les trouver."
Go to the top of the page
 
julia09
posté 3 Jun 2009, 09:47
Message #3


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 108
Inscrit : 8-December 08
Membre no 23888



Salut,

C'est donc le fichier catalog/includes/modules/new_products.php qui "pose" problème ??
Voilà le code de ce fichier :
Code
<?php
   $info_box_contents = array();
   $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));

   new contentBoxHeading($info_box_contents);

   if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
     $new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
   } else {
     $new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id . "' and p.products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
   }

   $row = 0;
   $col = 0;
   $info_box_contents = array();
   while ($new_products = tep_db_fetch_array($new_products_query)) {
     $new_products['products_name'] = tep_get_products_name($new_products['products_id']);
     $info_box_contents[$row][$col] = array('align' => 'center',
                                            'params' => 'class="smallText" width="33%" valign="top"',
                                            'text' => '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a>
' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])));

     $col ++;
     if ($col > 2) {
       $col = 0;
       $row ++;
     }
   }

   new contentBox($info_box_contents);
?>


C'est à quel niveau qu'il faudrait modifier/rajouter qqch ??

Merci


--------------------
Version : oscommerce-2.2ms2-FR-060817-2010 - PHP Version 4.4.9
Addons/contribs installés : Ultimate SEO Urls v2.6 (18 Aug 2008)+ bug fix Full package - GoogleXMLSitemapv1.3 - Heardabout_1_2 - Whosonlineturbov1.1fr - Freeamount 3.5e-c - Carrousel Flash - Anonymat Client pour critiques - Grandes images au passage de la souris (évite le "cliquer pour agrandir") - previous_next w_details_v3.4.0 - Show_Model_Picture_v1 - Ajout formulaire pour qté produit dans description produit - Store Mode 1_3 - Search_Price_Range_Pulldown_Menu-1.1.1 - Colissimo_v1.8 - Loginbox_5.7 - OrderCheck_2.5.1c - Send HTML Email V.2.1 - Store Pick Up 1.5 - Dynamic_sitemap_v3.5.10 - Quick Updates 2.8.3 Full_1 - En cours : CCGV5.21 + OSC PDF Catalog 2.0.9
Go to the top of the page
 
NoZic
posté 3 Jun 2009, 10:17
Message #4


Ceinture noire OSC
Icône de groupe

Groupe : Membres
Messages : 2871
Inscrit : 27-June 07
Lieu : Elancourt (78)
Membre no 18127



Bonjour,

C'est bien ce fichier.

Il ne faut pas "que" modifier une partie mais créer une fonction redondante qui va chercher les produits dans les catégories enfantes de la catégorie concernée tant qu'il y a des catégories enfantes (donc tant que l'on trouve des catégories qui ont comme parent_id celui de la catrégorie testée).

Cette fonction redondante doit forcément être appelée dans une partie de code testant si l'id de la catégorie pour chercher les produits existe donc pour ton code :
Code
  if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
    .... // donc le code défaut si pas de catégorie
  } else {
    // c'est cette partie de code que tu dois remplacer par la fonction redondante que tu as créée + créer l'affichage que tu appeles plus bas à la place du fetch_array de la requête, toujours bien entendu en testant si l'id de la catégorie existe (auquel cas on affiche juste l'affichage créé ici) ou pas (auquel cas on fait le fetch_array de la requête).
  }


Bon courage

Ce message a été modifié par NoZic - 3 Jun 2009, 10:20.


--------------------
"Les solutions existent toujours depuis longtemps, il suffit de les trouver."
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 20th May 2013 - 21:50
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)