Hallo Leute,
ich versuche nun schon seit mehreren Tagen vergeblich die InlineEdit Funktion für CustomField-Spalten in der Administration einzubinden.
Aktuell habe ich testweise über ein Plugin 2 Spalten zusätzlich zur Produktliste in der Administration hinzugefügt: ein CustomField und die EAN. Die EAN kann ich komischerweise problemlos per InlineEdit anpassen und der neue Wert wird dann auch erfolgreich gespeichert. Beim CustomField funktioniert allerdings nur die Anzeige als Spalte. Wenn ich versuche eine InlineEdit Anpassung vorzunehmen, wird zwar anzeigt, dass das Produkt erfolgreich gespeichert wurde, der ursprüngliche Wert des CustomFields wird aber nicht überschrieben.
Hat jemand eine Idee, wo das Problem liegen könnte?
Vielleicht noch ein kleiner Zusatz: Wenn ich einen Doppelklick in die entsprechende CustomField-Spalte mache, wird mir ein leeres Feld angezeigt und nicht (wie z.B. bei der EAN) der aktuelle Wert.
Hallo,
ich habe aktuell dasselbe Problem. Beides funktioniert nicht:
{
property: 'customFields[\'foobar\']',
label: this.$tc('sw-product.list.foobar'),
inlineEdit: 'number',
sortable: true,
}
{
property: 'customFields.foobar',
label: this.$tc('sw-product.list.foobar'),
inlineEdit: 'number',
sortable: true,
}
Würde es reichen, in der sw-data-grid
-Kompnente zu prüfen, ob column.property
assoziativ ist?
Also anstelle von:
<sw-data-grid-inline-edit
:column="column"
:compact="compact"
:value="item[column.property]"
@input="item[column.property] = $event"
/>
Das hier:
<sw-data-grid-inline-edit
:column="column"
:compact="compact"
:value="columnValue(item, column.property)"
@input="item[column.property] = $event"
/>
columnValue(item, property) {
const path = property.split('.');
if (path.length === 1) {
return item[path[0]];
}else if (path.length === 2) {
return item[path[0]][path[1]];
}
// and so on
}
Also so würde zumindest der Wert angezeigt werden aber gespeichert wird der dann ja auch nicht, denke ich.