Puncte:0

Cum salvez o anumită „stare” a produsului în articolul de comandă?

drapel br

Mi-ar fi necesar ca site-ul meu să salveze „o anumită stare” a produsului (produselor) și a variațiilor relative achiziționate în comandă.

Adică, cu configurația „standard” Commerce, în relativă articol comandat sunt stocate doar:

o referire la entitatea achiziționabilă, o cantitate, un preț unitar și un preț total

Prin urmare, de exemplu, dacă corp a produsului achiziționat sau variația relativă se modifică după ce un utilizator îl cumpără, este imposibil să obții și să arate valoarea acestuia în momentul achiziției.

Există un modul/mod de a păstra aceste informații în articolul de comandă?

Mă gândesc, în cel mai rău caz, să o salvez cumva în mod programatic în momentul creării articolului de comandă, dar înainte de a continua, aș dori să verific soluțiile existente etc., dar, din păcate, nu am găsit nimic despre.

Folosesc modulul Commerce 2.x.

Dylan avatar
drapel kr
Cred că modalitatea corectă ar fi să avem revizuiri ale produsului și apoi să relaționați articolul de comandă cu acea revizuire, dar asta poate fi întotdeauna sub forma unui patch, de exemplu: https://www.drupal.org/project/commerce/ probleme/2656896. Probabil că aș opta pentru 1) să nu editez niciodată, doar să creez produse noi sau 2) să stochez o ieșire JSON a datelor despre produs într-un câmp al articolului de comandă.
Giuseppe avatar
drapel br
Aș evita să pun un patch atât de critic. O idee bună cu câmpul json. Există un serviciu pentru a salva o entitate (și anume un produs comercial, în acest caz) în JSON? Ar trebui să folosesc API-ul de serializare?
Dylan avatar
drapel kr
Sincer, probabil că aș încerca să fac $entity->toArray() și json_encode() după ce am analizat datele pe care le vreau de fapt, ----- dar ar fi mai tare să serializeze entitatea ca: https://www.drupal.org/docs/8/api/serialization-api/serialization-api-overview ----- \Symfony\Component\Serializer\SerializerInterface ----- $output = $this->serialize->serialize($entity, 'json'); ----- $entity = $this->serialize->deserialize($output, Drupal\commerce_product\Entity\ProductVariation::class, 'json');

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.