Champs personnalisés et Hikashop

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #143724

-- HikaShop version -- : 2.2.3 Starter
-- Joomla version -- : 2.5.16
-- PHP version -- : 5.3.16
-- Browser(s) name and version -- : Firefox 27 et IE 11

Bonjour,

Je souhaite me servir du formulaire d'inscription pour rajouter des champs personnalisés que mes clients pourraient modifier de temps en temps.
Est-ce possible avec hikashop starter?
Pourquoi mes clients n'ont-ils pas accès aux champs personnalisés lors qu'ils veulent modifier leurs informations?
Enfin, je souhaite être prévenu par courriel de chacune des modifications effectuées(Formulaire enregistrement d'hika) par mes clients sur les chanps personnalisés que j'ai rajouté. Est-ce possible? Si oui comment faire?

Merci de vos conseils.

P.S: J'ai concentré toutes mes interrogations liées aux champs personnalisés sur un seul poste au lieu de multiplés les posts

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

  • Posts: 81566
  • Thank you received: 13075
  • MODERATOR
10 years 2 months ago #143773

Bonjour,

Oui c'est possible. Vos champs sont modifiables via le menu Affichage>Champs personnalisés.
De leur coté, les clients peuvent modifier leurs adresses (et donc la valeur des champs que vous avez créé) via leur panneau de controle utilisateur. Vous pouvez créer un lien de menu vers cette page via le gestionnaire de menus de Joomla.
Il n'y pas d'option pour un tel envoi d'email.
C'est possible avec le développement d'un plugin HikaShop en implémentant le trigger onAfterAddressUpdate mais il faut être un développeur pour pouvoir faire cela.

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144071

Merci nicolas,

J'ai compris comment les clients peuvent modifier les champs personnalisés.

développement d'un plugin HikaShop en implémentant le trigger onAfterAddressUpdate mais il faut être un développeur pour pouvoir faire cela.


Concernant le codage j'ai un BTS en informatique de gestion option développeur . Je vais essayer mais j'aurais aimé avoir des précisions sur le développement de plugin. Comment accède-t-on aux triggers?

Merci

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

  • Posts: 73
  • Thank you received: 7
10 years 2 months ago #144077

Bonjour,

Vous pouvez jeter un oeil sur notre documentation, elle vous aidera surement (vous y trouverez même un plugin de payment exemple) :
www.hikashop.com/support/support/documen...r-documentation.html

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144206

Bonjour,

J'ai réussi à envoyer par courriel les valeurs des champs prédéfinis par hikashop mais pas celles des champs personnalisés que j'ai rajouté.

J'ai constaté que mes champs avaient la valeur fausse à "Core" (voir pièces-jointes), peut-être que cela explique mon échec.
Comment faire pour passer cette valeur à vraie?

Attachments:

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

  • Posts: 81566
  • Thank you received: 13075
  • MODERATOR
10 years 2 months ago #144208

Cela n'a rien à voir. "core" signifie que c'est un champs par défaut d'HikaShop et qu'il n'est pas supprimable, c'est tout.

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144212

Voilà les lignes que j'ai écrits. La 1ere fonctionne l'autre pas.

$prenom= $element->address_lastname;
$agence= $element->address_agence;

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

  • Posts: 81566
  • Thank you received: 13075
  • MODERATOR
10 years 2 months ago #144216

Pourriez vous faire une capture de la page d'options de votre champs ?

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144218

Si çà n'est pas la bonne capture signalez-le moi. Merci

Attachments:

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

  • Posts: 81566
  • Thank you received: 13075
  • MODERATOR
10 years 2 months ago #144222

Vous avez appelé votre champs "agence" et non "address_agence". Utilisez le bon nom et cela devrait aider :)

The following user(s) said Thank You: ryps

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144225

Erreur d'inattention. A force de faire des copié/collé partout je réfléchis plus parfois.
Merci

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144228

Je profite pour une autre interrogation.

J'utilise les fonctions suivantes :
function onBeforeAddressUpdate(&$element,&$do){
function onAfterAddressUpdate(&$element){

et je m'attendais à avoir des informations différentesmais ces informations sont lesmêmes.

Par exemple :
nom d'agence -> pour function onBeforeAddressUpdate(&$element){
nom d'agence rectifié -> pour function onAfterAddressUpdate(&$element){

Pourquoi ais-je toujours, dans les 2 cas, la même information , nom d'agence rectifié?

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

  • Posts: 81566
  • Thank you received: 13075
  • MODERATOR
10 years 2 months ago #144238

Pourquoi auriez vou une information différente dans ce champs ?
entre les deux triggers la seule chose qui se passe, c'est l'enregistrement dans la base de données, et cela ne modifie pas les informations de l'object passé au trigger.

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144240

Je me suis trompé alors. je croyais que l'ancien champ était gardé en mémoire pour être envoyé dans le before et le nouveau envoyé dans l'after.

Je ne vois pas de onloadWindows mais si je toruve cela je vais tenter d'envoyer les enregistrements à l'ouverture de la fenêtre puis à l'enregistrement. Ce que je veux moi c'est savoir quel champ a été modifié par mes utilisateurs et donc je vouslais comparé 2 courriels.

Enfin pour finir. Concernant les champs images/photos en upload il mesemble qu'il n'y en a pas pour les champs personnalisés. C'est dommage, est-ce que c'est prévu?

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

  • Posts: 81566
  • Thank you received: 13075
  • MODERATOR
10 years 2 months ago #144263

Pour cela, il faut faire charger depuis la BDD les anciennes valeurs de l'adresse dans le onBeforeAddressUpdate, stocker ça dans le $this du plugin pour pouvoir les utiliser dans le onAfterAddressUpdate.

Il y a des champs d'upload de fichier/image pour les champs personnalisés. Ce n'est par contre disponible que dans l'édition Business.

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144299

charger depuis la BDD les anciennes valeurs de l'adresse

Est-ce que tu peux me donner les codes permettant de faire çà(charger depuis la bdd)?

Ryps

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

  • Posts: 12953
  • Thank you received: 1778
10 years 2 months ago #144410

Bonjour Ryps,
Pourriez vous m'indiquer exactement quelles valeurs voulez vous charger depuis votre BDD ?
Merci.

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

  • Posts: 56
  • Thank you received: 0
10 years 2 months ago #144458

Bonjour,

Voilà j'ai un champ personnalisé agence et je souhaite le récupéré dans un onBeforeAddressUpdate.

J'ai donc fait :
$address = $this->address->get($element->address_id);
puis
$address->agence
Cela fonctionne.
Mais dans le onAfterAddressUpdate je ne sais pas quel code mettre pour récupérer le $address->agence du OnBeforeAddressUpdate. Nicolas m'a dit qu'il fallait utiliser un $this mais je ne sais ni l'allimenter dans le onBeforeAddressUpdate ni le récupéré dans le on AfterAddressUpdate.

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

  • Posts: 81566
  • Thank you received: 13075
  • MODERATOR
10 years 2 months ago #144489

Comme expliqué dans mon précédent message, il faut mettre les données dans $this.

Donc comme ceci:
$this->address = $this->address->get($element->address_id);

ensuite on peut y accéder dans le trigger after de la même façon: $this->address

The following user(s) said Thank You: ryps

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

Time to create page: 0.121 seconds
Powered by Kunena Forum