Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
20 Mar 2009, 14:03
Message
#1
|
|
|
Ceinture blanche OSC Groupe : Membres Messages : 9 Inscrit : 17-March 09 Lieu : Nord Membre no 24795 |
Bonjour à tous,
Je cherche à faire une liste différente de produit pour uniquement une catégorie,sans installer une nouvelle contribution. ça devrait se passer dans catalog/includes/modules/product_listing.php et certainement ailleurs... pour l'instant j'ai coder comme ceci au debut Citation case 'PRODUCT_LIST_PRICE': if ($cPath!=$cPathAuction){ $lc_text = TABLE_HEADING_PRICE; $lc_align = 'right'; } else { $lc_text = TABLE_HEADING_PRICE; $lc_align = 'right'; } break; puis au milieu: Citation case 'PRODUCT_LIST_PRICE': if ($cPath!=$cPathAuction){ $lc_align = 'right'; if (tep_not_null($listing['specials_new_products_price'])) { $lc_text = ' <s>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span> '; } else { $lc_text = ' ' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . ' '; } } else { $lc_align = 'right'; $lc_text = LISTING_DEP_PRIX_AUCTION .' <b>' .$currencies->display_price($listing['auctions_starting_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</b><br>'.LISTING_PRIX_AUCTION.' <font color=RED><b>'. $currencies->display_price($listing['auctions_max'], tep_get_tax_rate($listing['products_tax_class_id'])) .'</font> - <font color=RED>' .$listing['auctions_nb']. LISTING_NB_AUCTION . '</b></font><br>'.LISTING_FIN_AUCTION.' <b>' . date("d/m/Y \à H:i",strtotime($listing['expires_date'])).'</b>'; } break; alors ca fonctionne pour ma catégorie 192 , mais aussi pour advance_search (la liste de la recherche par la box search) et ca je voudrais quelle ne soit pas modifier. merci |
|
|
6 May 2009, 07:17
Message
#2
|
|
|
Ceinture blanche OSC Groupe : Membres Messages : 3 Inscrit : 22-November 07 Membre no 19834 |
Bonjour,
Pour ma part, avec une catégorie de produits spécifique à mettre en ligne, j'ai crée un 2eme product listing adapté et déclaré dans le fichier filename. Ensuite sur l'index en bas de fichier, je précise la catégorie (ici 21) concernée par ceci : if ($current_category_id == '21' ) echo include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING1); else include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); Je ne réussi pas à coder pour les sous_cat dépendantes de cette catégorie, après plusieurs essais je sèche sur la requète. Si quelqu'un à une idée, je suis preneur de conseils. merci. -------------------- OSC MS2
|
|
|
6 May 2009, 09:20
Message
#3
|
|
![]() Ceinture noire OSC Groupe : Membres Messages : 2871 Inscrit : 27-June 07 Lieu : Elancourt (78) Membre no 18127 |
Bonjour,
Citation alors ca fonctionne pour ma catégorie 192 , mais aussi pour advance_search Bah faut juste rajouter un test du nom du fichier qui exécute le script (ou celui du referrer, ça dépend ce que renvoie le nom du fichier, ça risque d'être products_listing.php), si c'est index.php alors faire ton listing sinon faire celui d'origine. D'ailleurs tu ne devrais pas utiliser le $cPath comme référence mais plus $current_category_id comme le propose kardichca. Le problème de la variable $cPath c'est qu'elle n'est pas définie quand tu es dans une catégorie contenant directement des produits. Donc je supppose que ta catégorie 192 contient des catégories et pas des produits.Citation Je ne réussi pas à coder pour les sous_cat dépendantes de cette catégorie, après plusieurs essais je sèche sur la requète Faudrait plus de code car là tu montres comment faire la différence pour utiliser le bon listing, mais pas le code du listing ni surtout de la requête avant (oui car la requête qui sera exécutée dans products_listing.php est générée avant dans index.php. Mais normalement le listing affiche déjà les produits inhérents aux sous-catégories de la catégorie courante. Je comprend pas trop ton problème du coup.
-------------------- "Les solutions existent toujours depuis longtemps, il suffit de les trouver."
|
|
|
6 May 2009, 10:56
Message
#4
|
|
|
Ceinture blanche OSC Groupe : Membres Messages : 3 Inscrit : 22-November 07 Membre no 19834 |
bonjour NoZic et merci pour ta réponse
Pour etre un peu plus clair, voilà ce que j'arrive à faire : Si une categorie ne contient que des produits (pas de sous cat), j'affiche un product listing dédié que j'appelle depuis l'index. ...et pas faire : Si une cette categorie contient des sous catégories, mon listing dédié est ignoré. Ce que je n'arrive pas à faire car "limite en php" c'est rediriger cat et surtout sous_cat depuis l'index vers le deuxieme product listing. if ($current_category_id == '21' ) // pour rediriger vers listing1 par exemple un Cpath 21_42 c'est là le soucis. echo include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING1); else include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); -------------------- OSC MS2
|
|
|
6 May 2009, 11:20
Message
#5
|
|
![]() Ceinture noire OSC Groupe : Membres Messages : 2871 Inscrit : 27-June 07 Lieu : Elancourt (78) Membre no 18127 |
index.php est divisée en trois parties distinctes (faudrait le mettre dans la FaQ ça, j'en ai marre de le taper
Code if ($category_depth == 'nested') { ... ici tu es dans une catégorie contenant une autre catégorie } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) { ... ici tu es sur un fabriquant ou dans une catégorie contenant des produits (donc pas de catégories) } else { // default page ... ici c'est la page d'accueil } Je suppose donc que tu n'as fait la modif' que dans la deuxième partie de la page et pas dans la première. D'ailleurs tu remarqueras que le listing n'est appelé qu'une fois par défaut, dans la partie "catégorie contenant des produits" donc la deuxième. Il faudrait juste rajouter le code qui l'affiche dans la première partie (euh... non en fait, il faudra rajouter ce qui construit la requête du $filterlist_sql aussi...). Bon courage [EDIT] oublie cette phrase : Citation Mais normalement le listing affiche déjà les produits inhérents aux sous-catégories de la catégorie courante. Je comprend pas trop ton problème du coup. J'étais à la rue quand j'ai tapé ça, c'est les nouveaux produits qui tapent dans les sous-catégories, pas le listing.
Ce message a été modifié par NoZic - 6 May 2009, 11:27. -------------------- "Les solutions existent toujours depuis longtemps, il suffit de les trouver."
|
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 19th June 2013 - 03:28 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |