- Posts: 101
- Thank you received: 4
Titre champs perso dans listing produit
- kiweerouge
-
Topic Author
- Offline
Less
More
13 years 4 months ago #102659
by kiweerouge
Titre champs perso dans listing produit was created by kiweerouge
Bonjour,
Je voudrais afficher le titre des champs pero dans le listing des produits, mais je ne vois pas comment faire.
J'ai bien $this->row->nom_du_champs qui m'affiche la valeur, mais je voudrais afficher le titre. Je n'ai pas trouvé le titre dans $this->row
Une idée ?
Merci d'avance !
Je voudrais afficher le titre des champs pero dans le listing des produits, mais je ne vois pas comment faire.
J'ai bien $this->row->nom_du_champs qui m'affiche la valeur, mais je voudrais afficher le titre. Je n'ai pas trouvé le titre dans $this->row
Une idée ?
Merci d'avance !
Please Log in or Create an account to join the conversation.
13 years 4 months ago #102689
by Xavier
Replied by Xavier on topic Titre champs perso dans listing produit
Bonjour,
Si vous utilisez le nom du champ pour afficher la valeur, pourquoi ne pas mettre en dur le nom dans le titre ?
Ce dernier ne changera pas, et si il change il faudra dans tous les cas éditer cette vue.
Si vous utilisez le nom du champ pour afficher la valeur, pourquoi ne pas mettre en dur le nom dans le titre ?
Ce dernier ne changera pas, et si il change il faudra dans tous les cas éditer cette vue.
Please Log in or Create an account to join the conversation.
- kiweerouge
-
Topic Author
- Offline
Less
More
- Posts: 101
- Thank you received: 4
13 years 4 months ago #103810
by kiweerouge
Replied by kiweerouge on topic Titre champs perso dans listing produit
euh... désolé je suis pas sure d'avoir compris.
J'ai un champs personnalisé avec une liste déroulante;
valeur -> titre
vin_rose -> Vin Rose
vin_rouge -> Vin Rouge
Dans mon listing j'arrive à afficher la valeur (donc vin_rose) mais je voudrais le titre (Vin Rose).
Je sais que je pourrais mettre comme valeur "Vin Rose" mais j'utilise les valeurs dans les paramètres des URLs, du coup c'est pas très propre
J'ai un champs personnalisé avec une liste déroulante;
valeur -> titre
vin_rose -> Vin Rose
vin_rouge -> Vin Rouge
Dans mon listing j'arrive à afficher la valeur (donc vin_rose) mais je voudrais le titre (Vin Rose).
Je sais que je pourrais mettre comme valeur "Vin Rose" mais j'utilise les valeurs dans les paramètres des URLs, du coup c'est pas très propre
Please Log in or Create an account to join the conversation.
13 years 4 months ago #103831
by Jerome
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Replied by Jerome on topic Titre champs perso dans listing produit
Bonjour,
Le champs personnalisé sauvegarde la valeur dans la base, c'est donc cette valeur qui peut être lu.
Afin d'afficher le titre, il faut au préalable charger la configuration des champs personnalisés, pour récupérer la liste de correspondance "valeur <=> titre" et ainsi afficher le titre de la valeur en base.
C'est ce qui est fait dans la vue "product | show_block_custom_main". La vue parcours tous les champs personnalisés et les affiches via la fonction
Mais pour cela, il lui faut l'objet $oneExtraField qui contient la configuration de votre champs personnalisé.
Dans le listing des produits, la class field est chargée également mais les custom field ne sont chargés que si le listing n'est pas affiché en module.
Si l'affichage est fait dans un module, il faudra donc les charger.
Ensuite dans votre listing, vous pouvez utiliser le code de la vue "product | show_block_custom_main" afin de faire le parcours des champs personnalisés et n'afficher que les champs qui vous intéresse en fonction de leur $fieldName.
Cordialement,
Le champs personnalisé sauvegarde la valeur dans la base, c'est donc cette valeur qui peut être lu.
Afin d'afficher le titre, il faut au préalable charger la configuration des champs personnalisés, pour récupérer la liste de correspondance "valeur <=> titre" et ainsi afficher le titre de la valeur en base.
C'est ce qui est fait dans la vue "product | show_block_custom_main". La vue parcours tous les champs personnalisés et les affiches via la fonction
Code:
echo $this->fieldsClass->show($oneExtraField,$value);
Dans le listing des produits, la class field est chargée également mais les custom field ne sont chargés que si le listing n'est pas affiché en module.
Si l'affichage est fait dans un module, il faudra donc les charger.
Ensuite dans votre listing, vous pouvez utiliser le code de la vue "product | show_block_custom_main" afin de faire le parcours des champs personnalisés et n'afficher que les champs qui vous intéresse en fonction de leur $fieldName.
Cordialement,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Please Log in or Create an account to join the conversation.
- kiweerouge
-
Topic Author
- Offline
Less
More
- Posts: 101
- Thank you received: 4
13 years 4 months ago - 13 years 4 months ago #104098
by kiweerouge
Replied by kiweerouge on topic Titre champs perso dans listing produit
ok c'est un peu plus clair.
Mais du coup comment charger la config des champs perso ? Parce que là même mon listing n'est pas dans un module le titre du champs n'est pas récupéré.
Mais du coup comment charger la config des champs perso ? Parce que là même mon listing n'est pas dans un module le titre du champs n'est pas récupéré.
Last edit: 13 years 4 months ago by kiweerouge.
Please Log in or Create an account to join the conversation.
13 years 4 months ago #104121
by nicolas
Replied by nicolas on topic Titre champs perso dans listing produit
Vous pouvez charger les fields pour un produit comme ceci:
Et pour l'affichage:
Code:
$itemFields = $this->fieldsClass->getFields('frontcomp',$this->row,'product','checkout&task=state');
Code:
foreach($itemFields as $fieldName => $oneExtraField) {
if(!isset($this->row->$fieldName)) continue;
echo $this->fieldsClass->show($oneExtraField,trim($this->row->$fieldName));
}
Please Log in or Create an account to join the conversation.
- kiweerouge
-
Topic Author
- Offline
Less
More
- Posts: 101
- Thank you received: 4
13 years 4 months ago #105772
by kiweerouge
Replied by kiweerouge on topic Titre champs perso dans listing produit
Bon finalement j'ai eu un peu de mal avec ce code, alors comme de toute manière je doit de base modifier quelque chose dans le code lorsque j'ajoute une nouvelle valeur à ce champs personnalisé, j'ai fait un tableau avec valeur / titre, et j'affiche le bon titre en fonction de la valeur.
Pas forcément optimale comme méthode mais ça fonctionne.
Merci !
Pas forcément optimale comme méthode mais ça fonctionne.
Merci !
Please Log in or Create an account to join the conversation.
Time to create page: 0.182 seconds