Inhalte aufrufen

Profilbild

Arbeiten mit GenericAttributes

GenericAttributes

Best Answer Marcus Gesing , 31 January 2022 - 22:35

"Wie kann man auf diese Attribute in der Plugin-Umgebung zugreifen und befüllen?"
Am besten über GenericAttributeService (wegen internem Caching). Alternativ direkt per IRepository<GenericAttribute>.
 
"Wie kann man die gespeicherten Daten dann im Frontend, z. B. in einem Widget ausgeben."
Per passender GenericAttributeService-Methode laden, in ein View-Model (oder View-Bag) übergeben und per Widget\View rendern.
Beispiele für Filter finden sich im Dev-Tools-Plugin. PS: man kann u.a. auch ModelBase.CustomProperties verwenden, um einem View-Model eigene Daten mitzugeben.
 
"Wenn man Daten in den GenericAttributes abgespeichert hat, werden diese dann auch mit der WebApi mitgegeben?"
GenericAttributes sind Satelliten-Daten, d.h. sie werden nicht direkt mit der zugehörigen Entität mitgeliefert, sondern müssen separat über den gleichnamigen API-Controller abgerufen werden.
 
"Wird die Datenbanktabelle von GenericAttributes bei Updates geleert?"
Die GenericAttributes von Gästen (Customer Entität) werden per Schedule-Task gelöscht, weil es sich dabei um sehr große Datenmengen handeln kann. Siehe CustomerService.DeleteGuestCustomers.
 
"Wie sollte man am besten mit den GenericAttributes arbeiten, also wofür sollte man diese verwenden?"
Z.B. lassen sich damit zusätzliche Daten an Aufträgen (Order Entität) binden. Je nach Zahlart z.B. zusätzliche, spezifische Daten eines Zahlungsanbieters. Am intensivsten wird die Entität für zusätzliche Kundendaten (Customer Entität) verwendet.
 
PS: Alternative um eigene Daten in einer vorhandenen Tabelle zu speichern ist SyncMapping und SyncMappingService.
Go to the full post


  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
1 Antwort zu diesem Thema

#1 Lighthouse

Lighthouse

    Member

  • Members
  • PunktPunkt
  • 17 Beiträge

Geschrieben: 31 January 2022 - 16:23

Schönen guten Tag,

 

wir arbeiten uns gerade in der Smartstore-Pluginstruktur ein und wir hätten ein paar Fragen zu den GenericAttributes.

 

Wie kann man auf diese Attribute in der Plugin-Umgebung zugreifen und befüllen?

 

Wie kann man die gespeicherten Daten dann im Frontend, z. B. in einem Widget ausgeben.

 

Wenn man Daten in den GenericAttributes abgespeichert hat, werden diese dann auch mit der WebApi mitgegeben?

 

Wird die Datenbanktabelle von GenericAttributes bei Updates geleert?

 

Wie sollte man am besten mit den GenericAttributes arbeiten, also wofür sollte man diese verwenden?

 

 

MfG

 

André



#2 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3804 Beiträge

Geschrieben: 31 January 2022 - 22:35   Best Answer

"Wie kann man auf diese Attribute in der Plugin-Umgebung zugreifen und befüllen?"
Am besten über GenericAttributeService (wegen internem Caching). Alternativ direkt per IRepository<GenericAttribute>.
 
"Wie kann man die gespeicherten Daten dann im Frontend, z. B. in einem Widget ausgeben."
Per passender GenericAttributeService-Methode laden, in ein View-Model (oder View-Bag) übergeben und per Widget\View rendern.
Beispiele für Filter finden sich im Dev-Tools-Plugin. PS: man kann u.a. auch ModelBase.CustomProperties verwenden, um einem View-Model eigene Daten mitzugeben.
 
"Wenn man Daten in den GenericAttributes abgespeichert hat, werden diese dann auch mit der WebApi mitgegeben?"
GenericAttributes sind Satelliten-Daten, d.h. sie werden nicht direkt mit der zugehörigen Entität mitgeliefert, sondern müssen separat über den gleichnamigen API-Controller abgerufen werden.
 
"Wird die Datenbanktabelle von GenericAttributes bei Updates geleert?"
Die GenericAttributes von Gästen (Customer Entität) werden per Schedule-Task gelöscht, weil es sich dabei um sehr große Datenmengen handeln kann. Siehe CustomerService.DeleteGuestCustomers.
 
"Wie sollte man am besten mit den GenericAttributes arbeiten, also wofür sollte man diese verwenden?"
Z.B. lassen sich damit zusätzliche Daten an Aufträgen (Order Entität) binden. Je nach Zahlart z.B. zusätzliche, spezifische Daten eines Zahlungsanbieters. Am intensivsten wird die Entität für zusätzliche Kundendaten (Customer Entität) verwendet.
 
PS: Alternative um eigene Daten in einer vorhandenen Tabelle zu speichern ist SyncMapping und SyncMappingService.

Marcus Gesing

Smartstore AG



Auch markiert mit einem oder mehrerer dieser Schlüsselwörter: GenericAttributes