Ajouter un champs quantité dans la page catégorie

Section pour les membres qui participent aux contributions de modules et autres fonctionnalités pour OpenCart

Ajouter un champs quantité dans la page catégorie

Messagepar Onlytech » 09 Oct 2013, 12:48

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.
Image
Onlytech
Administrateur
 
Messages: 308
Inscrit le: 18 Juil 2009, 18:15

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

Messagepar lucho69 » 11 Oct 2013, 20:26

bien vu Onlytech :-)
Opencart 1.5.x - 2.x.x Opencart Assistance Dépannage

Image
lucho69
 
Messages: 907
Inscrit le: 09 Juil 2010, 13:51
Localisation: lyon

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

Messagepar noirebene » 17 Oct 2013, 23:26

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
Opencart 1.5.1 (installation en français)
Template:
Acki
Version PHP:
5.3

J'aime Opencart et je me soigne !
noirebene
 
Messages: 21
Inscrit le: 17 Août 2013, 01:06

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

Messagepar Onlytech » 18 Oct 2013, 06:56

Bonjour
Transcription en cours en VQMod :)
Mise en ligne dans la journée
Image
Onlytech
Administrateur
 
Messages: 308
Inscrit le: 18 Juil 2009, 18:15

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

Messagepar Onlytech » 18 Oct 2013, 23:25

Veuillez trouver le fichier VQMod pour l'ajout d'un champs de quantité sur la page catégorie.
Bonne utilisation à tous.
Pièces jointes
qte-categorie.xml
(1.19 Kio) Téléchargé 672 fois
Image
Onlytech
Administrateur
 
Messages: 308
Inscrit le: 18 Juil 2009, 18:15

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

Messagepar noirebene » 19 Oct 2013, 11:58

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 !
Opencart 1.5.1 (installation en français)
Template:
Acki
Version PHP:
5.3

J'aime Opencart et je me soigne !
noirebene
 
Messages: 21
Inscrit le: 17 Août 2013, 01:06


Retour vers Contributions

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron
Copyright © 2009-2013 OpenCart France - Tous droits réservés