Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]



Vous avez des soucis avec votre Opencart v1.5.x, nous pouvons résoudre vos problèmes,
contactez le Bureau France !

par tel: 0 891 690 175 ou par
email

[Résolu] Besoin d'aide pour gestion de stock

Soutien général pour les problèmes techniques avec OpenCart

Re: Besoin d'aide pour gestion de stock

Messagepar LeorLindel » 03 Avr 2011, 15:47

Sw00p a écrit:Je cherche une solution de gestion, comme sur prestashop : Qu'un article soit en stock ou pas, qu'il soit commandable (avertissement si un article n'est pas en stock)
Et surtout, idem avec les options.
Je ne vois pas où est ton problème !!

Un client peut commander un produit dont le stock est épuisé si le paramétrage est mis sur "Oui" dans > Système > Paramètres > Onglet "Options" > Commande en rupture > Oui
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 03 Avr 2011, 18:35

Encore faut il qu'il soit prévenu, et que cela fonctionne avec les options.

Je vais quand même essayer, car la modif m'intrigue.

Je vous tiens au jus.
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 03 Avr 2011, 20:04

Je n'arrive pas à modifier le product.tpl

Je ne trouve pas le paragraphe :

Code: Tout sélectionner
    <?php if($option_value['quantity'] == '0') {
        echo ' disabled="disabled">' . $option_value['name'] . ' (sold out)';
    } else {
        echo '>' . $option_value['name'];
    } ?>


Je vous joins mon product.tpl :

Code: Tout sélectionner
<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content">
  <div class="top">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center">
      <h1><?php echo $heading_title; ?></h1>
    </div>
  </div>
  <div class="middle">
    <div style="width: 100%; margin-bottom: 30px;">
      <table style="width: 100%; border-collapse: collapse;">
        <tr>
          <td style="text-align: center; width: 250px; vertical-align: top;"><a href="<?php echo $popup; ?>" title="<?php echo $heading_title; ?>" class="thickbox" rel="gallery"><img src="<?php echo $thumb; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" id="image" style="margin-bottom: 3px;" /></a><br />
            <span style="font-size: 11px;"><?php echo $text_enlarge; ?></span></td>
          <td style="padding-left: 15px; width: 296px; vertical-align: top;"><table width="100%">
              <?php if ($display_price) { ?>
              <tr>
                <td><b><?php echo $text_price; ?></b></td>
                <td><?php if (!$special) { ?>
                  <?php echo $price; ?>
                  <?php } else { ?>
                  <span style="text-decoration: line-through;"><?php echo $price; ?></span> <span style="color: #F00;"><?php echo $special; ?></span>
                  <?php } ?></td>
              </tr>
              <?php } ?>
              <tr>
                <td><b><?php echo $text_availability; ?></b></td>
                <td><?php echo $stock; ?></td>
              </tr>
              <tr>
                <td><b><?php echo $text_model; ?></b></td>
                <td><?php echo $model; ?></td>
              </tr>
              <?php if ($manufacturer) { ?>
              <tr>
                <td><b><?php echo $text_manufacturer; ?></b></td>
                <td><a href="<?php echo str_replace('&', '&amp;', $manufacturers); ?>"><?php echo $manufacturer; ?></a></td>
              </tr>
              <?php } ?>
              <?php if ($review_status) { ?>
           <tr>
                <td><b><?php echo $text_average; ?></b></td>
                <td><?php if ($average) { ?>
                  <img src="catalog/view/theme/default/image/stars_<?php echo $average . '.png'; ?>" alt="<?php echo $text_stars; ?>" style="margin-top: 2px;" />
                  <?php } else { ?>
                  <?php echo $text_no_rating; ?>
                  <?php } ?></td>
              </tr>
           <?php } ?>
            </table>
            <br />
            <?php if ($display_price) { ?>
            <form action="<?php echo str_replace('&', '&amp;', $action); ?>" method="post" enctype="multipart/form-data" id="product">
              <?php if ($options) { ?>
              <b><?php echo $text_options; ?></b><br />
              <div style="background: #FFFFCC; border: 1px solid #FFCC33; padding: 10px; margin-top: 2px; margin-bottom: 15px;">
                <table style="width: 100%;">
                  <?php foreach ($options as $option) { ?>
                  <tr>
                    <td><?php echo $option['name']; ?>:<br />
                      <select name="option[<?php echo $option['option_id']; ?>]">
                        <?php foreach ($option['option_value'] as $option_value) { ?>
                        <option value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?>
                        <?php if ($option_value['price']) { ?>
                        <?php echo $option_value['prefix']; ?><?php echo $option_value['price']; ?>
                        <?php } ?>
                        </option>
                        <?php } ?>
                      </select></td>
                  </tr>
                  <?php } ?>
                </table>
              </div>
              <?php } ?>
              <?php if ($display_price) { ?>
              <?php if ($discounts) { ?>
              <b><?php echo $text_discount; ?></b><br />
              <div style="background: #F7F7F7; border: 1px solid #DDDDDD; padding: 10px; margin-top: 2px; margin-bottom: 15px;">
                <table style="width: 100%;">
                  <tr>
                    <td style="text-align: right;"><b><?php echo $text_order_quantity; ?></b></td>
                    <td style="text-align: right;"><b><?php echo $text_price_per_item; ?></b></td>
                  </tr>
                  <?php foreach ($discounts as $discount) { ?>
                  <tr>
                    <td style="text-align: right;"><?php echo $discount['quantity']; ?></td>
                    <td style="text-align: right;"><?php echo $discount['price']; ?></td>
                  </tr>
                  <?php } ?>
                </table>
              </div>
              <?php } ?>
              <?php } ?>
              <div class="content">
                <?php echo $text_qty; ?>
                <input type="text" name="quantity" size="3" value="<?php echo $minimum; ?>" />
                <a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>
                <?php if ($minimum > 1) { ?><br/><small><?php echo $text_minimum; ?></small><?php } ?>
              </div>
              <div>
                <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" />
                <input type="hidden" name="redirect" value="<?php echo str_replace('&', '&amp;', $redirect); ?>" />               
              </div>
            </form>
            <?php } ?></td>
        </tr>
      </table>
    </div>
    <div class="tabs">
      <a tab="#tab_description"><?php echo $tab_description; ?></a>
      <a tab="#tab_image"><?php echo $tab_image; ?>  (<?php echo count($images); ?>)</a>
      <?php if ($review_status) { ?><a tab="#tab_review"><?php echo $tab_review; ?></a><?php } ?>
      <a tab="#tab_related"><?php echo $tab_related; ?> (<?php echo count($products); ?>)</a>
    </div>
    <div id="tab_description" class="tab_page"><?php echo $description; ?></div>
    <?php if ($review_status) { ?>
    <div id="tab_review" class="tab_page">
      <div id="review"></div>
      <div class="heading" id="review_title"><?php echo $text_write; ?></div>
      <div class="content"><b><?php echo $entry_name; ?></b><br />
        <input type="text" name="name" value="" />
        <br />
        <br />
        <b><?php echo $entry_review; ?></b>
        <textarea name="text" style="width: 98%;" rows="8"></textarea>
        <span style="font-size: 11px;"><?php echo $text_note; ?></span><br />
        <br />
        <b><?php echo $entry_rating; ?></b> <span><?php echo $entry_bad; ?></span>&nbsp;
        <input type="radio" name="rating" value="1" style="margin: 0;" />
        &nbsp;
        <input type="radio" name="rating" value="2" style="margin: 0;" />
        &nbsp;
        <input type="radio" name="rating" value="3" style="margin: 0;" />
        &nbsp;
        <input type="radio" name="rating" value="4" style="margin: 0;" />
        &nbsp;
        <input type="radio" name="rating" value="5" style="margin: 0;" />
        &nbsp; <span><?php echo $entry_good; ?></span><br />
        <br />
        <b><?php echo $entry_captcha; ?></b><br />
        <input type="text" name="captcha" value="" autocomplete="off" />
        <br />
        <img src="index.php?route=product/product/captcha" id="captcha" /></div>
      <div class="buttons">
        <table>
          <tr>
            <td align="right"><a onclick="review();" class="button"><span><?php echo $button_continue; ?></span></a></td>
          </tr>
        </table>
      </div>
    </div>
    <?php } ?>
    <div id="tab_image" class="tab_page">
      <?php if ($images) { ?>
      <div style="display: inline-block;">
        <?php foreach ($images as $image) { ?>
        <div style="display: inline-block; float: left; text-align: center; margin-left: 5px; margin-right: 5px; margin-bottom: 10px;"><a href="<?php echo $image['popup']; ?>" title="<?php echo $heading_title; ?>" class="thickbox" rel="gallery"><img src="<?php echo $image['thumb']; ?>" title="<?php echo $heading_title; ?>" alt="<?php echo $heading_title; ?>" style="border: 1px solid #DDDDDD; margin-bottom: 3px;" /></a><br />
          <span style="font-size: 11px;"><?php echo $text_enlarge; ?></span></div>
        <?php } ?>
      </div>
      <?php } else { ?>
      <div style="background: #F7F7F7; border: 1px solid #DDDDDD; padding: 10px; margin-bottom: 10px;"><?php echo $text_no_images; ?></div>
      <?php } ?>
    </div>
    <div id="tab_related" class="tab_page">
      <?php if ($products) { ?>
      <table class="list">
        <?php for ($i = 0; $i < sizeof($products); $i = $i + 4) { ?>
        <tr>
          <?php for ($j = $i; $j < ($i + 4); $j++) { ?>
          <td width="25%"><?php if (isset($products[$j])) { ?>
            <a href="<?php echo str_replace('&', '&amp;', $products[$j]['href']); ?>"><img src="<?php echo $products[$j]['thumb']; ?>" title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" /></a><br />
            <a href="<?php echo str_replace('&', '&amp;', $products[$j]['href']); ?>"><?php echo $products[$j]['name']; ?></a><br />
            <span style="color: #999; font-size: 11px;"><?php echo $products[$j]['model']; ?></span><br />
            <?php if ($display_price) { ?>
            <?php if (!$products[$j]['special']) { ?>
            <span style="color: #900; font-weight: bold;"><?php echo $products[$j]['price']; ?></span>
            <?php } else { ?>
            <span style="color: #900; font-weight: bold; text-decoration: line-through;"><?php echo $products[$j]['price']; ?></span> <span style="color: #F00;"><?php echo $products[$j]['special']; ?></span>
            <?php } ?>
         <a class="button_add_small" href="<?php echo $products[$j]['add']; ?>" title="<?php echo $button_add_to_cart; ?>" >&nbsp;</a>
            <?php } ?>
            <br />
            <?php if ($products[$j]['rating']) { ?>
            <img src="catalog/view/theme/default/image/stars_<?php echo $products[$j]['rating'] . '.png'; ?>" alt="<?php echo $products[$j]['stars']; ?>" />
            <?php } ?>
            <?php } ?></td>
          <?php } ?>
        </tr>
        <?php } ?>
      </table>
      <?php } else { ?>
      <div style="background: #F7F7F7; border: 1px solid #DDDDDD; padding: 10px; margin-bottom: 10px;"><?php echo $text_no_related; ?></div>
      <?php } ?>
    </div>
  </div>
  <div class="bottom">
    <div class="left"></div>
    <div class="right"></div>
    <div class="center"></div>
  </div>
  <?php if ($tags) { ?>
  <div class="tags"><?php echo $text_tags; ?>
  <?php foreach ($tags as $tag) { ?>
  <a href="<?php echo $tag['href']; ?>"><?php echo $tag['tag']; ?></a>,
  <?php } ?>
  </div>
  <?php } ?>
</div>
<script type="text/javascript"><!--
$('#review .pagination a').live('click', function() {
   $('#review').slideUp('slow');
      
   $('#review').load(this.href);
   
   $('#review').slideDown('slow');
   
   return false;
});         

$('#review').load('index.php?route=product/product/review&product_id=<?php echo $product_id; ?>');

function review() {
   $.ajax({
      type: 'POST',
      url: 'index.php?route=product/product/write&product_id=<?php echo $product_id; ?>',
      dataType: 'json',
      data: 'name=' + encodeURIComponent($('input[name=\'name\']').val()) + '&text=' + encodeURIComponent($('textarea[name=\'text\']').val()) + '&rating=' + encodeURIComponent($('input[name=\'rating\']:checked').val() ? $('input[name=\'rating\']:checked').val() : '') + '&captcha=' + encodeURIComponent($('input[name=\'captcha\']').val()),
      beforeSend: function() {
         $('.success, .warning').remove();
         $('#review_button').attr('disabled', 'disabled');
         $('#review_title').after('<div class="wait"><img src="catalog/view/theme/default/image/loading_1.gif" alt="" /> <?php echo $text_wait; ?></div>');
      },
      complete: function() {
         $('#review_button').attr('disabled', '');
         $('.wait').remove();
      },
      success: function(data) {
         if (data.error) {
            $('#review_title').after('<div class="warning">' + data.error + '</div>');
         }
         
         if (data.success) {
            $('#review_title').after('<div class="success">' + data.success + '</div>');
                        
            $('input[name=\'name\']').val('');
            $('textarea[name=\'text\']').val('');
            $('input[name=\'rating\']:checked').attr('checked', '');
            $('input[name=\'captcha\']').val('');
         }
      }
   });
}
//--></script>
<script type="text/javascript"><!--
$.tabs('.tabs a');
//--></script>
<?php echo $footer; ?>
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

Re: Besoin d'aide pour gestion de stock

Messagepar LeorLindel » 03 Avr 2011, 21:13

La modification citée ci-dessus ne devrait pas t'intéresser puisqu'elle neutralise la commande lorsque cela concerne des produits épuisés. A te lire, tu souhaites l'inverse, à savoir que le client puisse commander même si le produit ne se trouve pas en stock. Le réglage que je t'ai citée dans mon dernier post règle ce problème.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 03 Avr 2011, 21:18

Autant pour moi lol !

J'ai donc testé vite fait la 1.4.9.3 et dans tous les cas, dés qu'un produit possède une option, le stock n'est plus gérable.

C'est en "stock" ou "rupture de stock", quelle que soit l'option.

Vraiment dommage !
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

Re: Besoin d'aide pour gestion de stock

Messagepar LeorLindel » 03 Avr 2011, 22:54

Je viens de faire le test en commandant le produit iPhone dont j'ai mis la quantité à zéro ainsi sue la quantité de l'option "Mémoire taille 16GB" que j'ai mis aussi à zéro.

Lorsque je commande cet article dans cette option, la commande fonctionne, puisque j'ai paramétré cette fonction comme citée plus haut.

Je ne comprends vraiment pas ton besoin car cela fonctionne comme tu le désires, non !!
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 04 Avr 2011, 08:25

Alors, moi j'ai fais comme cela :

Sur un article sans option, cela fonctionne parfaitement. Quand on met stock = 0, il est indiqué comme hors stock.
De ce coté là, aucun problème.

Maintenant, imaginons, que je propose ce même article en 2 coloris : Noir et blanc.

J'ai 3 noirs en stock et aucun stock en blanc.
On a beau mettre ce que l'on veut dans les quantités des options, ce qui sera pris en compte, c'est les quantités dans l'article en lui même.

Ce qui revient à ce que j'ai dis plus haut.
Si je met le noir avec un stock de 3 et blanc avec un stock de 0, cela n'aura aucune incidence sur le stock reel, puisque Opencart se base sur le stock produit en lui même.

Donc c'est soit en stock ou soit hors stock, mais on ne peut pas cumuler les 2 s'il y a des options sur l'article.

J’espère qu'on arrive à cerner mon problème.
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

Re: Besoin d'aide pour gestion de stock

Messagepar LeorLindel » 04 Avr 2011, 08:41

Dans ce cas, met 0 pour le stock général avec le paramétrage de pouvoir commander hors stock et fait la modif citée plus haut qui neutralise les options dont le stock est épuisé, et ton problème sera réglé.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 04 Avr 2011, 08:46

Ok, je vais faire comme tu dis.

Mais j'applique la modif que tu cites en page 1 ?
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

Re: Besoin d'aide pour gestion de stock

Messagepar LeorLindel » 04 Avr 2011, 09:04

Je met ci'-dessous cette modification.

Dans le fichier /catalog/model/catalog/product.php

Chercher cette ligne :
Code: Tout sélectionner
                  'prefix'         => $product_option_value['prefix']
Et la remplacer par ces lignes :
Code: Tout sélectionner
                  'prefix'         => $option_value['prefix'],
                  'quantity'         => $product_option_value['quantity']

Dans le fichier /catalog/controller/product/product.php

Après cette ligne :
Code: Tout sélectionner
         $this->data['text_minimum'] = sprintf($this->language->get('text_minimum'), $product_info['minimum']);
Ajouter celle-ci :
Code: Tout sélectionner
         $this->data['text_sold_out'] = $this->language->get('text_sold_out');
Chercher cette ligne :
Code: Tout sélectionner
                  'prefix'         => $option_value['prefix']
Et la remplacer par ces lignes :
Code: Tout sélectionner
                  'prefix'         => $option_value['prefix'],
                  'quantity'         => $option_value['quantity']

Dans le fichier /catalog/language/french/product/product.php

Ajouter cette ligne :
Code: Tout sélectionner
$_['text_sold_out']        = '(&Eacute;puis&eacute;)';
Ainsi que dans les autres langues.

Dans le fichier /catalog/view/theme/YOURTHEME/template/product/product.tpl

Chercher cette ligne :
Code: Tout sélectionner
                        <option value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?>
Et la remplacer par ces lignes :
Code: Tout sélectionner
                        <option value="<?php echo $option_value['option_value_id']; ?>"
                  <?php if($option_value['quantity'] == '0') {
                     echo ' disabled="disabled">' . $option_value['name'] . ' ' . $text_sold_out;
                  } else {
                     echo '>' . $option_value['name'];
                  } ?>
Chercher ces lignes :
Code: Tout sélectionner
                <?php echo $text_qty; ?>
                <input type="text" name="quantity" size="3" value="<?php echo $minimum; ?>" />
                <a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>
                <?php if ($minimum > 1) { ?><br/><small><?php echo $text_minimum; ?></small><?php } ?>
Et les remplacer par ces lignes :
Code: Tout sélectionner
           <?php if($product_info['quantity'] == '0') { echo $stock; } else { echo $text_qty; ?>
            <input type="text" name="quantity" size="3" value="<?php echo $minimum; ?>" />
            <a onclick="$('#product').submit();" id="add_to_cart" class="button"><span><?php echo $button_add_to_cart; ?></span></a>
           <?php if ($minimum > 1) { ?><br/><small><?php echo $text_minimum; ?></small><?php } ?>
           <?php } ?>
out_of_stock_options.png
out_of_stock_options.png (100.43 Kio) Vu 6649 fois
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 04 Avr 2011, 09:08

Ok je te remercie.

Je teste ça dans la journée.
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

Re: Besoin d'aide pour gestion de stock

Messagepar LeorLindel » 04 Avr 2011, 10:51

LeorLindel a écrit:Dans ce cas, met 0 pour le stock général avec le paramétrage de pouvoir commander hors stock et fait la modif citée plus haut qui neutralise les options dont le stock est épuisé, et ton problème sera réglé.

Rectification : Il faut mettre dans la quantité du stock général, la quantité du nombre de produit avec options.
Pour ton exemple, tu as 3 coloris noir et aucun coloris blanc, il te faudra mettre "3" dans la quantité du stock général.
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Besoin d'aide pour gestion de stock

Messagepar LeorLindel » 04 Avr 2011, 13:08

Étant donné en général, qu'une option peut avoir une référence propre lui étant spécifique et que cela n'est pas natif à OpenCart, j'ai créé une modification dans l'onglet "Options" en vue de faire apparaître cette référence.

Injecter cette requête dans la base de données via phpmyadmin :
Code: Tout sélectionner
ALTER TABLE `product_option_value` ADD `sku` VARCHAR( 64 ) NOT NULL AFTER `product_id`

Ensuite,

Dans le fichier /admin/mode/catalog/product.php

Chercher cette ligne :
Code: Tout sélectionner
                  $this->db->query("INSERT INTO " . DB_PREFIX . "product_option_value SET product_option_id = '" . (int)$product_option_id . "', product_id = '" . (int)$product_id . "', quantity = '" . (int)$product_option_value['quantity'] . "', subtract = '" . (int)$product_option_value['subtract'] . "', price = '" . (float)$product_option_value['price'] . "', prefix = '" . $this->db->escape($product_option_value['prefix']) . "', sort_order = '" . (int)$product_option_value['sort_order'] . "'");
Et la remplacer par celle-là :
Code: Tout sélectionner
                  $this->db->query("INSERT INTO " . DB_PREFIX . "product_option_value SET product_option_id = '" . (int)$product_option_id . "', product_id = '" . (int)$product_id . "', sku = '" . (int)$product_option_value['sku'] . "', quantity = '" . (int)$product_option_value['quantity'] . "', subtract = '" . (int)$product_option_value['subtract'] . "', price = '" . (float)$product_option_value['price'] . "', prefix = '" . $this->db->escape($product_option_value['prefix']) . "', sort_order = '" . (int)$product_option_value['sort_order'] . "'");

Chercher cette ligne :
Code: Tout sélectionner
                  $this->db->query("INSERT INTO " . DB_PREFIX . "product_option_value SET product_option_id = '" . (int)$product_option_id . "', product_id = '" . (int)$product_id . "', quantity = '" . (int)$product_option_value['quantity'] . "', subtract = '" . (int)$product_option_value['subtract'] . "', price = '" . (float)$product_option_value['price'] . "', prefix = '" . $this->db->escape($product_option_value['prefix']) . "', sort_order = '" . (int)$product_option_value['sort_order'] . "'");
Et la remplacer par celle-là :
Code: Tout sélectionner
                  $this->db->query("INSERT INTO " . DB_PREFIX . "product_option_value SET product_option_id = '" . (int)$product_option_id . "', product_id = '" . (int)$product_id . "', sku = '" . (int)$product_option_value['sku'] . "', quantity = '" . (int)$product_option_value['quantity'] . "', subtract = '" . (int)$product_option_value['subtract'] . "', price = '" . (float)$product_option_value['price'] . "', prefix = '" . $this->db->escape($product_option_value['prefix']) . "', sort_order = '" . (int)$product_option_value['sort_order'] . "'");

Chercher cette ligne (431) :
Code: Tout sélectionner
               'language'                => $product_option_value_description_data,
Et ajouter dessous, cette ligne :
Code: Tout sélectionner
                  'sku'                 => $product_option_value['sku'],


On peut avoir comme ceci une référence par option.
Fichiers joints
sku_option.png
sku_option.png (38.1 Kio) Vu 6648 fois
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 04 Avr 2011, 16:39

J'ai pas eu le temps de tester, je test ça dés ce soir.
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

Re: Besoin d'aide pour gestion de stock

Messagepar Sw00p » 04 Avr 2011, 18:14

Je n'ai pas encore appliquer ta modif.

On va prendre cet exemple : http://www.netbootik.net/opencart/index ... duct_id=48

J'ai fais ce que tu m'as dis :

J'ai mis "3" dans le stock général
Le 1gb "0" en stock
Le 8gb "3" en stock

Et bien, quelque soit l'option choisie (1gb ou 8gb), ca reste sur "en stock". Si le client veut commander un 1gb par exemple, il verra ce produit en stock, alors que réellement, il n'y ai pas.

Si j'applique ta modif, qu'est ce que cela change concrètement ? Cela ajout un "champs" supplémentaire ?
Car dans la fiche produit général, j'ai cette option "Référence "Gestion des stocks", mais je ne sais pas à quoi cela correspond.
Opencart 1.5.4
Changement d'adresse en cours..
Sw00p
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 104
Inscription: 09 Juin 2010, 20:56

PrécédenteSuivante

Retourner vers Soutien Général

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron