Betrachten Sie die Vorlage:Glass Mapper Standardwerte für Bildfeld zu brechen
Firma
- Logo (Bildfeld)
- Firmenname (Textfeld)
Die Company
Die Vorlage enthält Standardwerte für beide Felder. Wenn wir einen Company
Artikel erhalten und ihn mit Glass ohne Änderungen speichern, verwendet das Feld Logo
nicht mehr den Standardwert. (Das Company Name
Feld ist unberührt.)
Das Problem scheint, dass die Glass.Mapper.Sc.DataMappers.SitecoreFieldImageMapper
serialisiert den Wert dieses Felds anders als Sitecore tut. Wenn es versucht zu speichern, denkt es, dass es eine Änderung an dem Feld ist und nicht mehr den Standardwert verwendet.
Standard-Wert:
<image mediaid="{GUID}" />
Glass-generierte Wert:
<image height="64" width="64" mediaid="{GUID}" alt="Alt text" />
Gibt es einen Weg, um die gleiche Leistung wie Sitecores zu machen Glas erzeugen?
Schlagen Sie vor, einen benutzerdefinierten ImageMapper zu erstellen und diese Eigenschaften wie in Ihrer Antwort zu aktualisieren, oder wo würde ich diesen Code tatsächlich hinzufügen? –
Ja, ich schlage vor, einen benutzerdefinierten ImageMapper zu erstellen, da das Problem dort ist. Ich bin mir nicht sicher, ob Sie Ihren ImageMapper mithilfe von Konfigurationsdateien konfigurieren können.Aber GlassMapper ist Open Source, Sie können Quellen auf GitHub forken, Änderungen vornehmen und neue Assembly mit dem neuen ImageMapper bekommen. https://github.com/mikedwards83/Glass.Mapper – Anton
Anstatt das Repo und Gebäude zu klonen, empfehle ich Ihnen, SitecoreFieldImageMapper zu erben, überschreiben Sie die Methode get mit Ihrer Implementierung und registrieren Sie sich in CreateResolver: https: // jammykam .wordpress.com/2015/11/09/custom-glass-mapper-data-handlers-part-2/Sie können es dann einfach bei Bedarf verwenden. Lesen Sie auch Teil 1 des Artikels. – jammykam