Page 1 sur 1

Ajouter un champs quantité dans la page catégorie

MessagePublié: 09 Oct 2013, 12:48
par Onlytech
Cette contribution vient suite à une demande formulée par un membre du forum concernant l'ajout d'un champs quantité sur le listing des produits dans une page catégorie.

Ce code est testé sur la version 1.5.5.1 FR d'OpenCart

Le fichier à éditer (si vous travaillez sur le thème par défaut) /catalog/view/theme/default/template/product/category.tpl
Vous pouvez bien entendu l'adapter à n'importe quel thème personnalisé.

Trouvez le code suivant :
Code: Tout sélectionner
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" />

Le changez en :
Code: Tout sélectionner
<input type="text" value="1" class="item-<?php echo $product['product_id']; ?>" />
<input type="button" value="<?php echo $button_cart; ?>" onclick="addQtyToCart('<?php echo $product['product_id']; ?>');" class="button" />


Nous avons rajouté ici un simple champs texte ayant la classe item-IdProduit et changé le bouton d'ajout au panier pour appeler la fonction addQtyToCart au lieu de addToCart

Juste avant le code
Code: Tout sélectionner
function display(view) {

dans l'ouverture de la balise <script>, on ajoute
Code: Tout sélectionner
function addQtyToCart(product_id) {
  var qty = $('.item-' + product_id).val();
  if ((parseFloat(qty) != parseInt(qty)) || isNaN(qty)) {
    qty = 1;
  }
  addToCart(product_id, qty);
}


J'essai de transcrire celà en VQMod qui reste toujours plus facile pour les non programmeurs :)
N'hésitez pas à nous faire des retours sur cette contrib.
Bonne utilisation.

Re: Ajouter un champs quantité dans la page catégorie

MessagePublié: 11 Oct 2013, 20:26
par lucho69
bien vu Onlytech :-)

Re: Ajouter un champs quantité dans la page catégorie

MessagePublié: 17 Oct 2013, 23:26
par noirebene
Bonjour,

Super c'est exactement ce que je cherche, y a t il moyen d'avoir la même chose en vqmod ? Je ne sais pas par ou commencer pour y arriver ?

Merci encore

Re: Ajouter un champs quantité dans la page catégorie

MessagePublié: 18 Oct 2013, 06:56
par Onlytech
Bonjour
Transcription en cours en VQMod :)
Mise en ligne dans la journée

Re: Ajouter un champs quantité dans la page catégorie

MessagePublié: 18 Oct 2013, 23:25
par Onlytech
Veuillez trouver le fichier VQMod pour l'ajout d'un champs de quantité sur la page catégorie.
Bonne utilisation à tous.

Re: Ajouter un champs quantité dans la page catégorie

MessagePublié: 19 Oct 2013, 11:58
par noirebene
Bravo super rapide,


Mais pour moi cela ne marche pas :-( , mon theme n'a pas les mêmes codes (je ne vois pas la les lignes de codes à changer dans mont heme), voici un aperçu de mon fichier category.tpl, quelqu'un aurait une idée de ce que je dois changer ? :
Code: Tout sélectionner
<?php echo $header; ?>
<?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content" class="category-page"><?php echo $content_top; ?>
  <div class="box">
  <div class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
    <?php } ?>
  </div>
  <div class="box-product product-grid grid-layout">
  <div class="category-info">
  <?php if ($thumb) { ?>
  <div class="image"><img src="<?php echo $thumb; ?>" alt="<?php echo $heading_title; ?>" /></div>
  <?php } else { ?>
  <div class="image"><span class="no-image"><img src="image/no_image.jpg" alt="<?php echo $heading_title; ?>" /></span></div>
  <?php } ?>
  <h1><?php echo $heading_title; ?></h1>
  <?php if ($description) { ?>
  <?php echo $description; ?>
  <?php } ?>
  <div class="product-filter clearafter">
    <div class="limit"><?php echo $text_limit; ?>
      <select onchange="location = this.value;">
        <?php foreach ($limits as $limits) { ?>
        <?php if ($limits['value'] == $limit) { ?>
        <option value="<?php echo $limits['href']; ?>" selected="selected"><?php echo $limits['text']; ?></option>
        <?php } else { ?>
        <option value="<?php echo $limits['href']; ?>"><?php echo $limits['text']; ?></option>
        <?php } ?>
        <?php } ?>
      </select>
    </div>
    <div class="sort"><?php echo $text_sort; ?>
      <select onchange="location = this.value;">
        <?php foreach ($sorts as $sorts) { ?>
        <?php if ($sorts['value'] == $sort . '-' . $order) { ?>
        <option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
        <?php } else { ?>
        <option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
        <?php } ?>
        <?php } ?>
      </select>
    </div>
  </div>
  </div>
  <?php if ($products) { ?>
    <?php foreach ($products as $product) { ?>
    <?php
      $thumb_width = $this->config->get('config_image_product_width');
      $thumb_height = $this->config->get('config_image_product_height');
   ?>
    <div>
      <?php if ($product['thumb']) { ?>
      <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
      <?php } else { ?>
      <div class="image"><span class="no-image"><img src="image/no_image.jpg" alt="<?php echo $product['name']; ?>" /></span></div>
      <?php } ?>
     
      <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
      <?php if ($product['price']) { ?>
      <div class="price">
        <?php if (!$product['special']) { ?>
        <div><span class="price-fixed"><?php echo $product['price']; ?></span></div>
        <?php } else { ?>
      <div class="special-price"><span class="price-fixed"><?php echo $product['special']; ?></span><span class="price-old"><?php echo $product['price']; ?></span></div>
        <?php } ?>
      </div>
      <?php } ?>
      <?php if ($product['rating']) { ?>
      <div class="rating"><img src="catalog/view/theme/arcu-pro/image/icons/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
      <?php } ?>
      <div class="description"><?php echo $product['description']; ?></div>
             
             
      <div class="cart"><a class="button" onclick="addToCart('<?php echo $product['product_id']; ?>');" data-hover="<?php echo $button_cart; ?>"><span class="icon-basket-light"><?php echo $button_cart; ?></span></a></div>
      <div class="wishlist"><a class="button" onclick="addToWishList('<?php echo $product['product_id']; ?>');"><span class="icon-wishlist-grey"><?php echo $button_wishlist; ?></span></a></div>
      <div class="compare"><a class="button" onclick="addToCompare('<?php echo $product['product_id']; ?>');"><span class="icon-compare-grey"><?php echo $button_compare; ?></span></a></div>
     <div class="more-info"><a class="button" href="<?php echo $product['href']; ?>"><span class="icon-info-grey"><?php echo $button_compare; ?></span></a></div>
    </div>
    <?php } ?>
  <?php } ?>
  </div>
  <?php if ($products) { ?>
  <div class="pagination"><?php echo $pagination; ?></div>
  <?php } ?>
  <?php if (!$categories && !$products) { ?>
  <div class="content"><p><?php echo $text_empty; ?></p></div>
  <div class="buttons">
    <div class="right"><a href="<?php echo $continue; ?>" class="button"><?php echo $button_continue; ?></a></div>
  </div>
  <?php } ?>
  </div>
  <?php echo $content_bottom; ?></div>
<?php echo $footer; ?>


merci d'avance !