Développer avec RBS Change : [Résolu] Ajout property

  • 79975.1

    22/07/2013 09:43


    hioli01
    Rang : Adepte
    Bonjour,
    pour un besoin X , j'ai besoin d'ajouter une property au niveau du document product 'tendance'.Cette property est type document (un nouveau document que j'ai rajouté sous mon module spécifique) modules_monmodules/tendance.
    Alors je me suis procédé par analogie avec la property brand au niveau du document produit. (l'ajout d'une marque ce fait au niveau de declinedproduct et la marque est inséré en base de donnée au niveau des tables declinedproduct et product ).
    J'arrive à rajouter la property l'aide de la commande change edit-document add-property sans problème.
    ce que j'ai fais :
    1- Ajout de cette propetry au niveau du document declinedproduct
    2- Ajout de cette property au niveau du document_product
    3- Au niveau de document compiledproduct j'ai rajouté deux property tendanceId de type int et tendanceLabel de type String.

    j'ai rajouté les editors de backoffice au niveau de declinedproduct et j'arrive très bien à créer un document de type tendance, et j'ai bien ma nouvelle propoerty au niveau du declined product.
    au niveau base de donnée le champs tendance de declined produit contient bien l'id du document tendance.
    mais ce que je ne comprend pas pourquoi j'ai toujours la valeur null au niveau du champs tendance de la table product et compiled product.
    j'ai cru qu'on rajoutant la property au niveau declinedproduct elle sera inseré systématiquement dans la table product ??
    sinon j'ai creusé pour voir s'il y avait un traitement spécial qui a été fait sur le document Brand pour comprende et faire de meme dans mon cas mais malheureusement je ne trouves pas grand chose.

    Avez vous une idée svp
    Merci d'avance
    Cordialement.

    Développeur et intégrateur web
    RBSChange V 3.5.2 e-commerce
  • 79975.2 en réponse à 79975.1 écrit par hioli01

    22/07/2013 13:22


    Georges Njock-Bôt
    Rang : Membre
    Bonjour,

    aujourd'hui la plupart des propriétés qui sont présentes dans le declinedproduct et dans le productdeclination sont synchronisées.

    Comment ça fonctionne ?
    1/ D'abord on déclare les propriétés à synchroniser
    --> ProductdeclinationService::getSynchronizedPropertiesName()

    2/ Ensuite on code le traitement à effectuer lors de la synchronisation
    --> ProductdeclinationService::synchronizePropertiesByDeclinedProduct()

    Remarques:


    • La synchronisation s'effectue systématiquement du declinedproduct vers la productdeclination.On ne pourra donc pas avoir une déclinaison particulière avec une valeur de propriété différente de celle du declinedproduct par exemple.


    • Il faudra également considérer la mise à jour de la valeur/propriété au niveau des compiledproduct associés. A moins que ce ne soit déjà fait ?

    "La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"

    Albert Einstein
  • 79975.3 en réponse à 79975.2 écrit par Georges Njock-Bôt

    22/07/2013 16:21


    hioli01
    Rang : Adepte
    Merci pour votre aide, en faite j'avais bien tester ce que vous m'avez indiquez concernant la synchronisation entre declined product et declination product mais je n'ai vais pas précisé sa dans mon premier post mais sans sucés.

    j'avais fais exactement comme vous avez réponde :
    1/ D'abord on déclare les propriétés à synchroniser
    --> DeclinedproductService::getSynchronizedPropertiesName()

    2/ Ensuite on code le traitement à effectuer lors de la synchronisation
    --> ProductdeclinationService::synchronizePropertiesByDeclinedProduct()

    pour le point 1 vous avez indiquez ProductdeclinationService::getSynchronizedPropertiesName() mais je suppose que c'est une faute de frappe.
    Alors pour comprendre ce qui se passait j'ai rajouté des echo var_dump au niveau des deux méthodes synchronizePropertiesByDeclinedProduct()
    et getSynchronizedPropertiesName() mais quand je crée un nouveau declined product je n'ai aucun message dans les logs pourtant mes echo contient juste le mot appel !!!

    Sinon pour le compiled product j'ai rajouté deux champs comment j'avais indiqué dans mon premier post id et Label mais je ne sais pas encore comment je vais faire pour les mettre à jour , comme je n'ai toujours pas réussi à avoir l'information au niveau de la table product je ne peux pas tester cette partie, mais si vous avez une piste sa sera super :).

    Merci d'avance.

    Développeur et intégrateur web
    RBSChange V 3.5.2 e-commerce
  • 79975.4 en réponse à 79975.3 écrit par hioli01

    23/07/2013 10:06


    hioli01
    Rang : Adepte
    Bonjour,

    juste une petite précision comment signaler au niveau de mon tout premier post j'ai rajouté la nouvelle property au niveau des documents : delinedproduct et product.
    Quand j'essaie de rajouté la property par ligne de commande au document productdeclination j'ai une erreur qui dit que ce document n'existe pas alors que j'ai bien le document sous persistent document et le doc est utilisé un peut partout dans le module catalog sans problème
    voici l'erreur :
    ''Edit-document: edit an existing document.
    est ce que je dois l'ajouté manuellement la property au document productdeclination ou bien l'ajout au document product suffit.

    Merci d'avance.

    Développeur et intégrateur web
    RBSChange V 3.5.2 e-commerce
  • 79975.5 en réponse à 79975.3 écrit par hioli01

    23/07/2013 14:37


    Georges Njock-Bôt
    Rang : Membre
    Effectivement il s'agissait bien de DeclinedproductService::getSynchronizedPropertiesName()
    --> bien vu.

    Concernant "quand je crée un nouveau declined product je n'ai aucun message dans les logs", il y a sans doute incompréhension.
    Les propriétés sont synchronisées à l'enregistrement d'une déclinaison (productdeclination). Vous pouvez d'ailleurs le vérifier dans la méthode preSave() de catalog_ProductdeclinationService

    Il vous faut donc créer et enregistrer une déclinaison pour tester votre setup. Si d'aventure cela ne fonctionnait toujours pas (pas de var_dump), il faudrait éventuellement voir du côté de l'aop si vous le compilez bien après chaque modification.

    Édité par Georges Njock-Bôt 23/07/2013 14:38


    "La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"

    Albert Einstein
  • Message supprimé par son auteur.
  • 79975.7 en réponse à 79975.5 écrit par Georges Njock-Bôt

    24/07/2013 10:09


    hioli01
    Rang : Adepte
    Bonjour,

    ça fontionne maintenant merci :) , l'erreur et que j'avais rajouté la property tendance au niveau du document produit et pas du document productdeclination.
    Bon il me reste à faire la mise à jour de compiled product j'imagine que c'est au niveau de la methode generate du service compiled product qu'il faut rajouté la mise à jour des nouvelles property.

    Merci beaucoup pour votre aide
    Bonne journée

    Développeur et intégrateur web
    RBSChange V 3.5.2 e-commerce
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1471 membres
Aucun membre connecté