Jump to content

Vendre des produits au poids


Recommended Posts

Bonjour à tous,
j'ai un client qui me demande s'il, est possible de créer des fiches produit avec un vente au poids.

Par exemple des pâtes, il voudrait pouvoir vendre des portions de  : 100g 200g 300g etc...

Comment faire ? est ce faisable directement dans la fiche produit ou avec un peu de code ou faut t'il passer par un module dédié ?

Sous Prestashop 8.1.7

Merci d'avance de votre aide

Cordialement

Link to comment
Share on other sites

Bonjour,

si la vente au poids est défini sous forme de poids précis est différents, vous pouvez utiliser les déclinaisons, mais après cela provoque d'autres soucis comme le stock.

Il suffit de créer des attributs du style 100g, 200 g, ainsi de suite, sauf si vous souhaitez proposer jusqu'à 100kg par tranche de 100g, là, il faudra imaginer autre chose.

Link to comment
Share on other sites

Bonjour.

Tout peut être résolu simplement et sans variations. S'il est vendu par 100 grammes, l'unité de compte sera en grammes. De plus, il suffit de fixer la quantité minimale à, par exemple, 100 grammes et de multiplier cette quantité minimale par modification mineure de deux fichiers TPL. On ne peut multiplier que par dixièmes. Il s'agit d'une modification simple et je l'ai déjà implémentée plusieurs fois.

J'ai 10 kilos de pâtes en stock et je saisis dans l'administration que 100 * 1000 = 100 000 grammes sont en stock.

Edited by ps8modules.com (see edit history)
Link to comment
Share on other sites

Le 02/09/2024 à 4:33 PM, ps8modules.com a dit :

Bonjour.

Tout peut être résolu simplement et sans variations. S'il est vendu par 100 grammes, l'unité de compte sera en grammes. De plus, il suffit de fixer la quantité minimale à, par exemple, 100 grammes et de multiplier cette quantité minimale par modification mineure de deux fichiers TPL. On ne peut multiplier que par dixièmes. Il s'agit d'une modification simple et je l'ai déjà implémentée plusieurs fois.

J'ai 10 kilos de pâtes en stock et je saisis dans l'administration que 100 * 1000 = 100 000 grammes sont en stock.

Peux tu développer, qu'appelles tu l'unité de compte ?

Quels sont les modifications mineures à faire, et dans quels .tpl ?

Link to comment
Share on other sites

image.png.9dbf15d190b510f8fbd61e2fc1302366.png

image.thumb.png.62b5d31893fcddb2e8510338645dedef.png

image.thumb.png.ac448fe8bcbe21aee4ec4fcf4509c8b8.png

 

Et partout où l'élément id="quantity_wanted" se trouve, vous devez le modifier comme suit.

./themes/classic/templates/catalog/_partials/product-add-to-cart.tpl

Ajouté :
step="{$product.minimal_quantity}"
et
data-step="{$product.minimal_quantity}"

<input
            type="number"
            name="qty"
            id="quantity_wanted"
            inputmode="numeric"
            pattern="[0-9]*"
            {if $product.minimal_quantity > 1 || $product.quantity_wanted}
              value="{$product.quantity_wanted}"
              min="{$product.minimal_quantity}"
              step="{$product.minimal_quantity}"
              data-step="{$product.minimal_quantity}"
            {else}
              value="1"
              min="1"
            {/if}
            class="input-group"
            aria-label="{l s='Quantity' d='Shop.Theme.Actions'}"
          >

 

Bien entendu, d’autres modèles TPL doivent également être modifiés.

/themes/classic/templates/checkout/_partials/cart-detailed-product-line.tpl

De plus, il serait bien d'avoir du javascript pour afficher le prix réel à payer.

Edited by ps8modules.com (see edit history)
Link to comment
Share on other sites

Je suis pas un spécialiste prestashop,
je suis autodidacte j'essai de me débrouiller 😁
Si tu veux bien me donner 10 à 15 minutes de ton temps je suis preneur 😄

Au passage il n'y a pas id="quantity_wanted" dans le tpl /themes/classic/templates/checkout/_partials/cart-detailed-product-line.tpl

C'est peut-être un peu trop compliqué à faire pour mon niveau

Edited by spawns (see edit history)
Link to comment
Share on other sites

./themes/classic/templates/checkout/_partials/cart-detailed-product-line.tpl

find:

class="js-cart-line-product-quantity"

replace input:

<input
                class="js-cart-line-product-quantity"
                data-down-url="{$product.down_quantity_url}"
                data-up-url="{$product.up_quantity_url}"
                data-update-url="{$product.update_quantity_url}"
                data-product-id="{$product.id_product}"
                type="number"
                inputmode="numeric"
                pattern="[0-9]*"
                {if $product.minimal_quantity > 1 || $product.quantity_wanted}
                  value="{$product.quantity}"
                  min="{$product.minimal_quantity}"
                  step="{$product.minimal_quantity}"
                  data-step="{$product.minimal_quantity}"
                {else}
                  value="{$product.quantity}"
                  min="1"
                {/if}
                name="product-quantity-spin"
                aria-label="{l s='%productName% product quantity field' sprintf=['%productName%' => $product.name] d='Shop.Theme.Checkout'}"
              />

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...