- Posts: 101
- Thank you received: 4
Afficher champ personnalisé user Fichier
- kiweerouge
-
Topic Author
- Offline
Bonjour,
Je suis en train de bosser sur une boutique avec Hikashop; pour laquelle le vendeur ne pourra pas utiliser le système de facturation d'hikashop; il doit forcément passer par le logiciel qu'il utilise habituellement.
En soi ce n'est pas un problème, j'ai désactivé le téléchargement des factures en front par le client.
Le vendeur voudrait tout de même pouvoir proposer les factures en libre téléchargement sur le site via l'espace client.
Je voudrais pour cela utiliser des champs personnalisés utilisateurs (je les utilise déjà pour rentrer certaines données spécifiques à chaque client).
J'ai donc créé un champs perso Fichier dans la table utilisateur. Côté admin, pas de soucis j'upload bien le fichier PDF; mais en front; comment afficher le lien vers ce fichier (je souhaite l'afficher directement dans la vue cpanel, dans un bloc en bas de page) ?
Pour les autres champs, il suffit de faire
Merci !
Please Log in or Create an account to join the conversation.
Vous trouverez dans la vue "order | show" du code qui affiche les champs personnalisés
Si votre champs n'est de base pas accessible en front-end c'est parce que vous ne souhaitez pas l'afficher durant le checkout.
Mais le mieux est de le rendre accessible en front mais de le masquer durant le checkout.
Ainsi HikaShop s'occupera tout seul comme un grand de faire l'affichage.
Tout ce que vous avez à faire est de faire un override pour la vue "checkout | custom_fields" et de modifier le début de la vue
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
- Posts: 101
- Thank you received: 4
En soi j'arrive à afficher le champs. Le code ci-dessous affiche bien le nom de mon fichier
Please Log in or Create an account to join the conversation.
Nous avions compris que votre champs était dans la table utilisateur et non la table commande.
Et c'est un problème pour vous car les utilisateurs peuvent avoir plusieurs commandes et donc vous allez être coincé avec un seul champs.
C'est pourquoi Jérome vous a recommandé d'utiliser plutôt un champs commande.
Ainsi, vous pouvez mettre votre fichier dans chaque commande, et afficher le lien sur la page de la commande accessible via le listing des commandes avec le code que Jérome vous a fourni dans son message.
Please Log in or Create an account to join the conversation.
- kiweerouge
-
Topic Author
- Offline
- Posts: 101
- Thank you received: 4
Non toujours pas; mon champs est bien dans la table utilisateur.
Le champs sera remplis par l'administrateur pour chaque client.
Je veux l'afficher dans la vue "user > cpanel".
Le but est que le client puisse télécharger le fichier directement sur cette page.
Please Log in or Create an account to join the conversation.
Il est inutile de tourner en rondNous avions compris que votre champs était dans la table utilisateur et non la table commande.
Et c'est un problème pour vous car les utilisateurs peuvent avoir plusieurs commandes et donc vous allez être coincé avec un seul champs.
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
- Posts: 101
- Thank you received: 4
m'aide à résoudre mon problème. Il y est surtout question des vues checkout et order, qui ne me concernent pas du tout.Jerome wrote: Bonjour,
Vous trouverez dans la vue "order | show" du code qui affiche les champs personnalisésMais il faut passer la variable $oneExtraField qui est les données du champ personnalisé, donc il faut charger la données puisque de base le champs n'est pas affiché.Code:$this->fieldsClass->show($oneExtraField, $this->order->$fieldName);
(...)
Je veux bien utiliser ce code, mais comment récupérer la variable $oneExtraField, et faire fonctionner l'ensemble dans la vue "user | cpanel" ?
Please Log in or Create an account to join the conversation.
Dans cette vue, tout ce qui est affiché, c'es une liste de bouton.
Donc il faudrait rajouter du code personnalisé pour d'abord charger les données des champs personnalisés du type souhaité, ensuite charger les données de l"utilisateur courant (ou des commandes de l'utilisateur courant) et enfin procéder à l'affichage.
Voici un exemple pour un champs utilisateur.
Please Log in or Create an account to join the conversation.
- kiweerouge
-
Topic Author
- Offline
- Posts: 101
- Thank you received: 4
J'ai essayé de modifier 2-3 choses pour mieux l'adapter mais rien n'y fait, la ligne
Please Log in or Create an account to join the conversation.
En relisant mon code, je vois que la class.field est instanciée dans la variable $fieldClass alors que sur la ligne de l'erreur c'est la variable $fieldsClass qui est utilisée (un s en plus).
Enlevez le s à $fieldsClass sur cette ligne et cela évitera l'erreur.
Please Log in or Create an account to join the conversation.
- kiweerouge
-
Topic Author
- Offline
- Posts: 101
- Thank you received: 4
On a donc :
Merci !
Please Log in or Create an account to join the conversation.