Champ personnalisé dans la liste des produits

  • Posts: 117
  • Thank you received: 1
9 years 10 months ago #158494

-- url of the page with the problem -- : j3.naouri-market.com
-- HikaShop version -- : 2 .3.1 Busines
-- Joomla version -- : 3.3
-- PHP version -- : 5.3.26
-- Browser(s) name and version -- : XXXXX x.x.x
-- Error-message(debug-mod must be tuned on) -- : Error_message

Bonjour,

J'ai créé un champ liste select multiple personnalisé pour tous les produits (certification).
Est-il possible d'afficher dans la liste des produits les libellés des valeurs choisies.
Actuellement, dans le paramétrage je n'affiche que le titre (Option parmetre par défaut pour les categories -DIV).

je souhaite affichier le titre et en dessous les libellés des certifications du produit.

Par avance merci pour votre aide

Meilleures salutations
Michel

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

  • Posts: 13201
  • Thank you received: 2322
9 years 10 months ago #158536

Bonjour,

Il va falloir éditer la vue "product / listing_img_title" (ou autre selon vos paramètres) et afficher les valeurs contenues dans la variable "$this->row->CUSTOM_FIELD_NAME".
Cela nécessite un peu de PHP.

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

  • Posts: 117
  • Thank you received: 1
9 years 10 months ago #158588

J'ai modifié le fichier listing_title.
Le champ personnalisé est de type Select-multiple.

Au lieu d'afficher le libellé de la valeur choisie, c'est la valeur brute du code qui est affichée.

ex:
liste

code1::libellé1::0
code2::libellé2::0
...
coden::libellén::0

Pour un produit dont le champ personnalisé contient code1,code2 on devrait afficher libellé1,libellé2. On affiche code1,code2.

Comment afficher le libellé (comme dans l'affichage de la page du détail des produits).

Par avance merci pour les explications

Meilleures salutations

Michel

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

  • Posts: 13201
  • Thank you received: 2322
9 years 10 months ago #158599

Pour afficher la valeur uniquement, il va falloir utiliser une expression régulière de la forme:

preg_match('#::(.*)::#',$values,$matches);
var_dump($matches);

Cela va permettre d'isoler le libellé du reste du texte.

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

  • Posts: 117
  • Thank you received: 1
9 years 10 months ago #158839

Je pense m'être mal exprimé.
l'affichage est celui de la partie publique : Dans la liste des produit c'est la valeur du champ personnalisé qui est affichée. Dans l'affichage du detail du produit on affiche le libellé correspondant à la valeur.

je cherche à afficher le libellé dans la liste des produits au lieu de la valeur.

J'ai regardé le source de show_block_custom_main. La variable $this->fields contient le détail du champ personnalisé. Comment peut-on récupérer $this->fields dans le source de listing_title.

Par avance merci pour vos indications

meilleures salutations
Michel

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

  • Posts: 81540
  • Thank you received: 13071
  • MODERATOR
9 years 10 months ago #158856

Dans ce cas c'est plus compliqué. Il faut faire ainsi:

$this->fieldsClass = hikashop_get('class.field');
$itemFields = $this->fieldsClass->getFields('frontcomp',$this->row,'product','checkout&task=state');
echo $this->fieldsClass->show($itemFields['CUSTOM_FIELD_NAME'],$this->row->CUSTOM_FIELD_NAME);
Et bien sur, il faut remplacer CUSTOM_FIELD_NAME par le nom de colonne de votre champs.

The following user(s) said Thank You: rottenberg

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

  • Posts: 117
  • Thank you received: 1
9 years 10 months ago #159040

merci cela fonctinne tres bien maintenant :)

Meilleures salutations

Michel

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

  • Posts: 117
  • Thank you received: 1
9 years 10 months ago #160949

Je pensait avoir résolu le problème. Mais il réapparait.

J'utilise le gestionnaire de template 'Template creator CK'.

J'ai ajouté le code CSS dans une zone de template creator spécifique au CSS personnalisé.
J'ai ausi essayé d'intégrer le CSS dans showcart.php.
Dans les 2 cas le probleme subsiste.

Le problème semble efffectivement provenir de l'impression de la 'wishlist' : une fois demandée l'affichage de la liste j'obtiens une page pour saisir les options d'impression, puis lors du retour de l'affichage du contenu de la liste, j'obtiens une copie du détail de la liste en bas de page à gauche dans l'espace créé en dessous du bas de page.

Dans quel CSS dois-je ajouter le code que vous m'avez donné

Attention, si vous faites un essai d'affichage de la liste vous devez recréer un utilisateur (j'ai du remonté une sauvegarde du site à avant hier soir à cause d'une mise à jour d'un autre composant qui comportait un bug).

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

  • Posts: 81540
  • Thank you received: 13071
  • MODERATOR
9 years 10 months ago #160970

Bonjour,

Ce dont vous parlez ressemble à un soucis de CSS manquant pour les popups dans votre template.
Le plus simple, c'est de changer l'option "mode de popup" de la configuration et voir si cela fonctionne. Normalement, au moins un des mode doit passer.
Sinon, il faut ajouter le CSS manquant au template...Mais là il faut voir ça avec le développeur du template.

Notez que votre nouvelle question n'a rien à voir avec le sujet des champs personnalisés dans les listings. Merci de créer un nouveau sujet dans ces cas là à l'avenir.

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

Time to create page: 0.065 seconds
Powered by Kunena Forum