Prix au mètre

  • Posts: 124
  • Thank you received: 3
  • Hikashop Business
11 years 1 month ago #125247

Nous avons un produit avec un prix fixe au mètre.

Est-ce possible de d'avoir un champs dans lequel l'internaute saisisse la longueur du produit qu'il désire acheter et le coût se calcule automatiquement en fonction du tarif de base?

Ou bien

on doit définir des caractéristiques selon différentes longueurs et depuis "gérer les variantes" créer des variantes selon la longueur avec son prix.

Dans l'attente de votre réponse,

Cordialement

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 1 month ago #125324

Bonjour,

Actuellement il faudrait utiliser le système de caractéristiques.
Selon les cas, si l'utilisateur est amené à n'acheter qu'une seule fois l'article, le champs quantité peut faire office de longueur, en effet il saisi le nombre de mètres souhaités et cela change le prix en fonction.

Sinon, il faut créer un champ personnalisé de type "item" et ajouter du code pour recalculer le prix dynamiquement en fonction de la valeur saisie dans le champ personnalisé.

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 1 month ago #125328

En créant un champ personnalisé appelé "longueur" dans la table "item", et en utilisant le plugin suivant, cela devrait recalculer le prix automatiquement en fonction de la longueur saisie.


File Attachment:

File Name: he68e1a3.zip
File Size:1 KB

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 124
  • Thank you received: 3
  • Hikashop Business
11 years 1 month ago #125640

Merci pour ces conseils que je vais tester.

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
11 years 1 month ago #125731

bonjour.
est'il possible de faire un prix degressif?
ex: 0 à 10 metre=10 euros
10 à20 metres=5 euros
20 à 30 = 4 euros....................
Merci

Please Log in or Create an account to join the conversation.

  • Posts: 82867
  • Thank you received: 13374
  • MODERATOR
11 years 1 month ago #125775

Pour cela il va falloir modifier le code du plugin de votre coté.

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
11 years 1 month ago #125820

Pouvez-vous faire les modifs ?
Je peux vous rémunérer si cela reste abordable.

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
11 years 1 month ago #125827

Il semble y avoir un problème de TVA et le plug-in.
La TVA est appliquée sur le prix de base du produit et ne tien pas compte de la longueur....

Si produit =100 *2 mètres donc 200. Dans le panier prix total = 219.6

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 1 month ago #125848

Bonjour,

Le plugin gère le prix avec taxes et sans taxes. Si la longueur est 2m alors le prix sans taxes est mutliplié par 2 et le prix avec taxes aussi.

Si vous souhaitez un autre fonctionnement, vous pouvez éditer le comportement du plugin. ;)

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
11 years 1 month ago #125858

Cela ne fonctionne pas.
Ci-joint photos de la page commande.
le prix à l'unité est plus élevé que le total final, idem dans le module

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 124
  • Thank you received: 3
  • Hikashop Business
11 years 1 month ago #125904

Bonjour Xavier,

J'ai installé et activé le plugin , ensuite depuis les champs personnalisés j'ai suivi vos indications et lors de l'enregistrement j'ai un message Erreur lors de la sauvegarde The field "longueur" already exists in the table "cart_product"

En fait j'avais déjà créé un champs personnalisé longueur, mais suite à un pb de paramétrage, j'ai du le supprimer et maintenant en le créant de nouveau apparait le message.

Cordialement,

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 1 month ago #125982

@ac3medias:
J'ai dû commettre une petite erreur en modifiant ce plugin (peu être trop rapidement).
Merci d'essayer cette fonction à la place:

function hikashop_product_price_for_quantity_in_order(&$product){
	$quantity = $product->order_product_quantity;
	if(!empty($product->longueur)){
		$product->order_product_price = $product->order_product_price * $product->longueur;
		$product->order_product_tax = 0;
	}
	$product->order_product_total_price_no_vat = $product->order_product_price*$quantity;
	$product->order_product_total_price = ($product->order_product_price+$product->order_product_tax)*$quantity;
}

@Al media:
Essayez de supprimer la ligne de cette custom field via phpMyAdmin dans la table #__hikashop_field.
Sinon, nommez ce champ d'une autre façon et remplacez "longueur" dans le plugin par le nom de cette custom field.

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
11 years 1 month ago #125989

Bonjour.
Pas de changement, toujours le même problème dans le panier et passage de commande.

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
11 years 1 month ago #126166

help
Je suis dans la me... la!!!

Please Log in or Create an account to join the conversation.

  • Posts: 13201
  • Thank you received: 2322
11 years 1 month ago #126172

Bonjour,

Merci d'ajouter

$product->prices[$k]->taxes['0']->tax_amount = $product->prices[$k]->taxes['0']->tax_amount * $product->longueur;
Dans le foreach, cela devrait corriger le soucis.

The following user(s) said Thank You: ac3medias

Please Log in or Create an account to join the conversation.

  • Posts: 12
  • Thank you received: 0
11 years 1 month ago #126189

cela semble ok.
GRAND MERCI

Please Log in or Create an account to join the conversation.

  • Posts: 11
  • Thank you received: 1
4 years 5 months ago #320141

Bonjour, je me permet reprendre ce sujet afin de vous expliquer ma problématique...

Je compte mettre en place sur le site des étiquettes en planche avec un prix calculé au m².

Par exemple : de 0 à 1 m² = 50 €
de 1 à 2 m² = 70 €
de 2 à 3 m² ... etc

Le client doit spécifier la taille de son étiquette Longueur x largeur, et que le prix se calcule automatiquement en fonction des valeurs qu'il a rentré

J'ai bien installé le plugin "Shop Custom Width Length plugin"
avec le code php suivant :

<?php
jimport('joomla.plugin.plugin');
class plgSystemCustom_quantity_width_length extends JPlugin{
}

if(!function_exists('hikashop_product_price_for_quantity_in_cart') && !function_exists('hikashop_product_price_for_quantity_in_order')) {
	function hikashop_product_price_for_quantity_in_cart(&$product){
		$currencyClass = hikashop_get('class.currency');
		$quantity = @$product->cart_product_quantity;
		if(!empty($product->length) && !empty($product->width)){
			$quantity = $quantity*$product->length*$product->width;
		}
		$currencyClass->quantityPrices($product->prices,$quantity,$product->cart_product_total_quantity);
	}
	
	function hikashop_product_price_for_quantity_in_order(&$product){
		$quantity = $product->order_product_quantity;
		if(!empty($product->length) && !empty($product->width)){
			$quantity = $quantity*$product->length*$product->width;
		}
		$product->order_product_total_price_no_vat = $product->order_product_price*$quantity;
		$product->order_product_total_price = ($product->order_product_price+$product->order_product_tax)*$quantity;
	}
}

J'ai bien renseigné les champs personnalisés comme ceci :


Mais rien n'y fait, après avoir passé des heures à chercher en vain dans les forums, je ne trouve aucune solution à mon problème.

Voici le lien du produit en question :

www.printlor.fr/etiquettes-et-stickers-a...etiquette-en-planche

Y'a t-il quelque chose qui m'échappe? Je reste à votre disposition.





Cordialement,
Thomas.

Attachments:
Last edit: 4 years 5 months ago by durtom.

Please Log in or Create an account to join the conversation.

  • Posts: 82867
  • Thank you received: 13374
  • MODERATOR
4 years 5 months ago #320178

Bonjour,

Je vois que vous avez changé le nom de colonne dans le code du plugin pour utiliser llongueur et largeur au lieu de width et length par défaut.
Or si je regarde l'HTML de votre lien, les champs qui s'affichent ont les noms de colonne width et length et pas llongueur et largeur:
monosnap.com/file/Ls0ObcjChzAh4Jwnp7jSrbxiEv3Gph
Donc je pense que le soucis est à ce niveau.
Aussi, il faut que le plugin soit publié et qu'il soit avec l'accès "public".
Enfin, j'ai testé sur votre page en ajoutant le produit au panier et le prix dans le panier correspond bien à 63*4:
monosnap.com/file/dyLEI5C2B2iOay7YpUNNDyNHwX6jOg
Donc cela m'a l'air de fonctionner.

Please Log in or Create an account to join the conversation.

  • Posts: 11
  • Thank you received: 1
4 years 5 months ago #320181

Bonjour et merci de votre réponse.

En effet j'ai remis le plugin par défaut, j'ai donc édité mon post ci-dessus.

Maintenant, le code du plugin est par défaut ainsi que les colonnes, le problème est réglé, le plugin fonctionne, je reformule donc ma demande, car je sais que cela nécessitera des modifications sur les fonctions du plugin...

- - - - - - - - - - - - -

Je veux que le client puisse rentrer ses dimensions de l'étiquette à l'unité, et je veux que le prix soit calculé au mètre carré.
Par exemple : le client veut 500 exemplaires d'une étiquettes 10 x 5 cm, ce qui fait 2,5 m² sur la planche d'étiquettes ( 500 x 10 x 5 )

Je voudrais que le prix soit généré au . Tout en sachant que celui-ci est dégressif, mais pas forcément proportionnel.

de 0 à 1 m² = 50 €
de 1 à 2 m² = 70 €
de 2 à 3 m² = 80 €
etc...

Je suis conscient que cela va demander des modifications sur le code php du plugin.

Le problème est que je n'ai pas ses connaissances là en php pour modifier une telle formule.

Merci de votre attention,
Cordialement.

Last edit: 4 years 5 months ago by durtom.

Please Log in or Create an account to join the conversation.

  • Posts: 82867
  • Thank you received: 13374
  • MODERATOR
4 years 5 months ago #320185

Bonjour,

J'imagine quelque chose comme cela:

<?php
jimport('joomla.plugin.plugin');
class plgSystemCustom_quantity_width_length extends JPlugin{
}

if(!function_exists('hikashop_product_price_for_quantity_in_cart') && !function_exists('hikashop_product_price_for_quantity_in_order')) {
	function hikashop_product_price_for_quantity_in_cart(&$product){
		$currencyClass = hikashop_get('class.currency');
		$quantity = @$product->cart_product_quantity;
		if(!empty($product->length) && !empty($product->width)){
			$superficie = $quantity*$product->length*$product->width;
			if($superficie>=0 && $superficie<1) {
				$product->prices[0]->price_value = 50;
				$product->prices[0]->price_value_with_tax = 50;
			} elseif($superficie>=1 && $superficie<2) {
				$product->prices[0]->price_value = 70;
				$product->prices[0]->price_value_with_tax = 70;
			} elseif($superficie>=2 && $superficie<3) {
				$product->prices[0]->price_value = 80;
				$product->prices[0]->price_value_with_tax = 80;
			}
			$quantity = 1;
		}
		$currencyClass->quantityPrices($product->prices,$quantity,$product->cart_product_total_quantity);
	}
	
	function hikashop_product_price_for_quantity_in_order(&$product){
		$quantity = $product->order_product_quantity;
		if(!empty($product->length) && !empty($product->width)){
			$superficie = $quantity*$product->length*$product->width;
			if($superficie>=0 && $superficie<1) {
				$new_price = 50;
			} elseif($superficie>=1 && $superficie<2) {
				$new_price = 70;
			} elseif($superficie>=2 && $superficie<3) {
				$new_price = 80;
			}
		}
		$product->order_product_total_price_no_vat = $new_price;
		$product->order_product_total_price = $new_price;
	}
}
Notez que cela dépasse largement le cadre du support utilisateur. Nous sommes en territoire de développement personnalisé. Donc le code n'est pas testé. Je l'ai écrit de tête. Si vous souhaitez que nous travaillons sur ce genre de projets pour vous, c'est possible pour un montant raisonnable. Pour ce faire, vous pouvez passer par notre formulaire de contact:
www.hikashop.com/support/contact-us.html

Please Log in or Create an account to join the conversation.

Time to create page: 0.135 seconds
Powered by Kunena Forum