Aide - Recherche - Membres - Calendrier
Version complète : Affichage d'un produit non activer sans l'acheter
Forum osCommerce-fr > Adapter OsCommerce MS2 > Contributions
patoche30
Bonjour,
Je cherche une solution pour que mes produits desactivés s'affichent qu'en même dans la boutique mais qu'on ne puisse les commander...

En clair, que la fonction qui desactive le produit de la boutique, l'affiche qu'en meme mais joue le meme role que le controle de stock qui empeche l'achat.

Un melange de l'option controle de stock et activation des produits en quelque sorte...

Le but est de pouvoir montrer les produits meme si ils sont pas dispo, mais pas avec le systeme de stock, car je gere mon stock en toogle statut (c'est a dire le produit sort = il est desactivé, le produit revient il est activer(systeme de location)) c'est pour cela que la gestion stock n'est pas possible....

A+
fissiaux

arrow.gif Déjà, dans index.php, il ta faut chercher les 4 ordres sql codés dans la variable $listing_sql.

Sur chacun de ces ordres, tu enlèves dans la clause WHERE, le code

CODE
p.products_status = '1'


Tu rajoutes par contre dans le select, la colonne p.products_status, pour que l'on puisse la récupérer dans le point suivant.

Comme cela, tu les auras au moins dans le listing.


arrow.gif Ensuite, dans catalog/includes/modules/product_listing.php, il faut que tu interviennes dans le code ci dessous pour rajouter la condition sur

CODE
         case 'PRODUCT_LIST_BUY_NOW':
           $lc_align = 'center';
           $lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a>&nbsp;';
           break;


Il faut donc que tu conditionnes l'affichage dans $lc_text du lien vers l'achat en testant la variable $listing['products_status']

arrow.gif Après dans product_info.php, tu dois faire les 2 choses précédentes, à savoir enlever le test dans la clause WHERE, rajouter la zone dans le select, et condfitionner l'affichage du bouton en focntiopn de la valeur de products_status dans

CODE
               <td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>
patoche30
Merci beaucoup,
pour l'index, y a pas de probleme, cela fonctionne super...
Par contre pour

CODE
case 'PRODUCT_LIST_BUY_NOW':
$lc_align = 'center';
$lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a>&nbsp;';
break;



Il faut donc que tu conditionnes l'affichage dans $lc_text du lien vers l'achat en testant la variable $listing['products_status']

ALORS LA JE CAPTE PAS DU TOUT.....

A+
fissiaux


CODE
        case 'PRODUCT_LIST_BUY_NOW':
          $lc_align = 'center';
          if ($listing['products_status'] == '1') {
          $lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a>&nbsp;';
           } else {
          $lc_text = '&nbsp;';
           }
          break;
patoche30
Bonjour
Je cherche une solution pour changer l'image du "buy now" par une autre (non disponible) dans product listing? (bien sur quand celui ci est desactivé)

Cela permettrai d'enformer dans la page product listing de la disponibilité du produit en magasin, mais que celui ci n'est pas dispo actuellement (toujours sans la gestion stock, uniquement avec l'active/desactive)

Merci
xaglo
fissiaux t'a déjà donnée la solution... il suffit de l'adapter
QUOTE
        case 'PRODUCT_LIST_BUY_NOW':
          $lc_align = 'center';
          if ($listing['products_status'] == '1') {
          $lc_text = '<a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a>&nbsp;';
           } else {
          $lc_text = tep_image_button('button_unable.gif', IMAGE_BUTTON_UNABLE) . '&nbsp;';
           }
          break;
et en ajoutant bien sûr ton image button_unable.gif et le define (IMAGE_BUTTON_UNABLE) dans les fichiers langues
patoche30
Merci beaucoup,
En faite grace a toi je viens de m'apercevoir que je butais sur une stupide erreur de syntaxe, c'est pour cela que je n'y arrivais pas....

A+
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.