champ personnalisé - valeur par défaut

  • Posts: 51
  • Thank you received: 3
10 years 2 months ago #170529

-- url of the page with the problem -- : croq-champs.fr
-- HikaShop version -- : 2.3.2
-- Joomla version -- : 3.3.3
-- PHP version -- : 5.4

Bonjour,
j'ai créé, pour le bon fonctionnement du plugin user_points, un champ personnalisé nommé user_points pour les utilisateurs.
J'aimerais que sa valeur par défaut soit 0 car si elle est nulle, le plugin ne sait pas la remplir.... Malheureusement, quand je mets une valeur par défaut, le champ reste vide pour les utilisateurs.
J'ai fait un test en le passant à 1, mais je n'ai pas de meilleur résultat...
Auriez-vous l'amabilité de m'aider de nouveau sur ce petit bug ?




J'ai un autre petit bug sur ce plugin. Si je commande 2 produits d'une même catégorie (du genre 2 cartes à 80€), bien que j'ai spécifié 1€=1point et qu'il n'y a pas de limite, il ne considère qu'un seul article et donne donc 80points au lieu de 160... Comment puis-je changer cela ?


Merci d'avance pour vos réponses sur ces 2 questions...

Attachments:

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
10 years 2 months ago #170530

Bonjour,

Dans le plugin "plugins/hikashop/user_points/user_points.php" vous pouvez remplacer le code

		$userClass = hikashop_get('class.user');
		$oldUser = $userClass->get($order->order_user_id);
		if(!isset($oldUser->user_points))
			return false;
		if(empty($oldUser->user_points))
			$oldUser->user_points = 0;
Par
		$userClass = hikashop_get('class.user');
		$oldUser = $userClass->get($order->order_user_id);
		if(!isset($oldUser->user_points) && !in_array('user_points', get_object_vars($oldUser)))
			return false;
		if(empty($oldUser->user_points))
			$oldUser->user_points = 0;
Afin de corriger le soucis.
Ce patch est déjà présent dans HikaShop pour la prochaine release.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

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

  • Posts: 51
  • Thank you received: 3
10 years 2 months ago #170566

bonsoir Jérôme,
malheureusement, je ne vois pas de modification après ce changement de code... Ni sur mon soucis de valeur par défaut à 0 pour mon champ personnalisé, ni pour le soucis du comptage de points si on prend 2 produits identiques....
Que puis-je faire ?
Merci pour votre aide...

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
10 years 2 months ago #170583

Bonjour,

Navré, je m'étais focalisé sur le premier bug qui avait déjà été corrigé de notre côté.
Voici le deuxième patch (qui sera corrigé également dans la prochaine release).
Dans le même fichier que mon précédent post, remplacer :

	$found = false;
	if(in_array($category->category_id, $this->plugin_params->product_categories)) {
		$calculatedPrice += $product_price;
		$found = true;
	} else {
Par :
	if(isset($product->order_product_quantity))
		$product_price *= (int)$product->order_product_quantity;
	else
		$product_price *= (int)$product->cart_product_quantity;

	$found = false;
	if(in_array($category->category_id, $this->plugin_params->product_categories)) {
		$calculatedPrice += $product_price;
		$found = true;
	} else {
Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
Last edit: 10 years 2 months ago by Jerome.

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

  • Posts: 51
  • Thank you received: 3
10 years 2 months ago #170633

Bonjour Jérôme,
merci pour ce nouveau bout de code, qui corrige effectivement le nombre de points.
J'ai cependant toujours le problème de la variable user_points vide à la création d'un compte client.
De ce que j'ai pu remarquer :
- quand on crée un nouvel utilisateur, si on ne touche pas, par le back-office, à son champ personnalisé "user_points", le plugin n'ajoute pas les points au moment de l'achat et le champ reste vide
- Par contre, si on enregistre une valeur dans le back-office (même 0), le plugin fonctionne.
- Si je supprime cette valeur, pour laisser à nouveau le champ vide, le plugin fonctionne quand même.....
est-ce que cela peut vous donner une indication ??

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

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
10 years 2 months ago #170643

Bonjour,

Le premier patch de ce thread corrige le soucis du "null".
Pour le reste :
www.hikashop.com/forum/product-category-...listings.html#170344

The default value does not mean that the value will be populate into all products. It means that if there is no value and you edit the product, the default value will be pre-populate (or if you display the custom field using the custom field system).
Because you're displaying the "raw value" of the custom field, it just can't work except if you modify every products in your store.
But you can make a SQL query to populate the value in every products ; the other solution will be to change the PHP code in order to use the HikaShop custom field system instead of displaying the raw value.


Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.
Last edit: 10 years 2 months ago by Jerome.
The following user(s) said Thank You: poldubuis

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

  • Posts: 51
  • Thank you received: 3
10 years 2 months ago #170809

bonjour,
j'ai donc créé, avant la validation de la commande une fonction php qui vérifie la variable user_points. Si elle est vide, une requête sql l'enregistre à 0. A partir de là, le plugin "userpoints" fonctionne parfaitement bien.
Merci pour vos conseils !

The following user(s) said Thank You: Jerome

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

  • Posts: 51
  • Thank you received: 3
10 years 2 months ago #170811

je passe donc le topic en résolu !

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

Time to create page: 0.080 seconds
Powered by Kunena Forum