Problème d'enregistrement des champs personnalisés

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57648

Bonjour,

J'ai créé des champs personnalisés de type case à cocher pour mes produits. Ils apparaissent bien en back-end et en front-end lorsque je me situe dans la page produit de Hikashop que j’enregistre sans quitter et rafraichis ma page en front-end.
Mais dès que « j’enregistre et ferme» le produit, ces 2 champs disparaissent du front-end. Et en retournant dans le produit, les données saisies dans ces champs ont disparu.
Est-ce dû à un bug d'Hikashop? Y a-t-il une autre raison?
Merci pour votre aide

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

  • Posts: 82867
  • Thank you received: 13373
  • MODERATOR
12 years 4 months ago #57716

Bonjour,

Je ne suis pas bien sûr de tout comprendre.
Pourriez vous faire une capture de la page d'options de votre champs personnalisé ainsi que du résultat sur la page produit en front end ?

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

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57745

Oui bien sûr. Après d'autres essais, je précise la nature du problème:
Sur une page produit, pour les champs personnalisés de type case à cocher, je peux sélectionner une option (ex: adaptable en hauteur) et quand j'enregistre cela fonctionne. Par contre si je coche plusieurs cases du même champ (adaptable en hauteur + adaptable en largeur par exemple), quand j'enregistre, mes choix ne sont pas enregistrés et si je retourne sur la page produits, les cases ne sont plus cochées.

Attachments:

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

  • Posts: 13201
  • Thank you received: 2322
12 years 4 months ago #57799

Bonjour dveq,

Je n'arrive pas à reproduire le bug, cette fonctionnalité fonctionne très bien sur ma version.

Pouvez vous me fournir un screenshot de votre configuration du champ personnalisé "Personnalisation" ?

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

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57803

Voici un screenshot de la configuration du champ personnalisé:

[attachment:1]champs personnalisés.jpg[/attachment]

J'ai installé hikashop en test sur un autre site et cela fonctionne très bien, je n'arrive pas à voir d'où vient le problème

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

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57804

Voici un screenshot de la configuration du champ personnalisé:





J'ai installé hikashop en test sur un autre site et cela fonctionne très bien également

Attachments:

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

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57805

Désolé, Mauvais manip' je recommence

Attachments:

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

  • Posts: 13201
  • Thank you received: 2322
12 years 4 months ago #57814

La configuration est pourtant bonne.

"J'ai installé hikashop en test sur un autre site et cela fonctionne très bien également"
Avez-vous essayé avec les même valeurs ? Cela pourrait peut être provenir d'un caractère, même si cela m'étonnerai fortement.

Sinon essayez de ré-installer le package HikaShop par dessus l'ancien, j'espère que cela corrigera le problème.

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

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57816

Nous avons trouvé la cause.
il s'agit de la modification préconisée ci-dessous dans www.hikashop.com/en/forum/5-support-en-f...-hikashop.html#56136
Pour cela, il va falloir changer le code (à plusieurs endroits):
if(!is_array($value)){
$value = explode(',',$value);
}
en:
if(!is_array($value)){
$value = explode('<br/>',$value);
}
dans le fichier administrator/components/com_hikashop/classes/field.php
En remettant le fichier field.php d'origine, le pb disparait.

Le but de cette modification était de faire un saut de ligne entre plusieurs items des champs personnalisés.
N'ayant pas modifié les implode en conséquence, le bug intervenait.
Pour traiter cet affichage, pouvez-vous nous orienter sur les implode à modifier (car ils ne le sont pas tous ...)
Merci.

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

  • Posts: 82867
  • Thank you received: 13373
  • MODERATOR
12 years 4 months ago #57883

En fait, il suffit de ne pas changer le :
if(!is_array($value)){
$value = explode(',',$value);
}

de la fonction display de la classe hikashopCheckbox.

A cette époque, ce code n'était pas dans cette fonction. Du coup, il n'y avait pas de problème à changer toutes les occurrences. Maintenant, ils faut toutes les changer SAUF celle ci.

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

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57922

Cela ne fonctionne toujours pas. Je n'ai plus de problèmes pour enregistrer mes éléments mais en front-end l'affichage se fait toujours sur une ligne avec les éléments séparés par une virgule.
Voici le code tel que je l'ai modifié dans field.php:

class hikashopCheckbox extends hikashopRadioCheck{
function display($field,$value,$map,$inside,$options='',$test=false){
if(!is_array($value)){
$value = explode(',',$value);
}
return parent::display($field,$value,$map,'checkbox',$inside,$options,$test);
}
function show(&$field,$value){
if(!is_array($value)){
$value = explode('<br />',$value);
}
if(!empty($field->field_value) && !is_array($field->field_value)){
$field->field_value = $this->parent->explodeValues($field->field_value);
}
$results = array();
foreach($value as $val){
if(isset($field->field_value[$val])) $val = $field->field_value[$val]->value;
$results[]= parent::show($field,$val);
}
return implode(',',$results);
}

et la capture d'écran du front-end:



Merci

Attachments:

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

  • Posts: 82867
  • Thank you received: 13373
  • MODERATOR
12 years 4 months ago #57980

Gardez le code d'explode original et changez juste:
return implode(',',$results);

en:
return implode('<br/>',$results);

dans le code que vous avez copier/coller

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

  • Posts: 139
  • Thank you received: 0
12 years 4 months ago #57982

C'est parfait, ça marche. Merci

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

Time to create page: 0.113 seconds
Powered by Kunena Forum