Mal noch genauer beschreiben:
Wenn man bei Bestellung in der Detailansicht ist, dann sieht der API Feed für das Land so aus:
{
"id": "0539f857165b48ce8161737647cbb643",
"type": "order_address",
"attributes": {
"versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425",
"countryId": "c75aecfa9a764755803a7be2805f1b20",
"countryStateId": null,
"orderId": "d87f918d31ef4e2d9aa50a07fcdd4a19",
"orderVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425",
"salutationId": "7a13ffcc067f4576885651bac3a7f8ac",
"firstName": "U",
"lastName": "H",
"street": "Strasse 6",
"zipcode": "12345",
"city": "Ort,
"company": null,
"department": null,
"title": null,
"vatId": null,
"phoneNumber": "0123456",
"additionalAddressLine1": null,
"additionalAddressLine2": null,
"customFields": null,
"createdAt": "2021-08-05T11:48:36.197+00:00",
"updatedAt": null,
"apiAlias": null
},
"links": {
"self": "https:\/\/www.cc.cc\/api\/order-address\/0539f857165b48ce8161737647cbb643"
},
"relationships": {
"country": {
"data": {
"type": "country",
"id": "c75aecfa9a764755803a7be2805f1b20"
},
"links": {
"related": "https:\/\/www.cc.cc\/api\/order-address\/0539f857165b48ce8161737647cbb643\/country"
}
},
Wenn man auf der Übersichtsseite der Bestellungen ist, dann ist „data“ bei country unten leer.
Wie bekomme ich den gefüllt?
{
"id": "af0097872b6a42f596d4aba539ec7e1f",
"type": "order_address",
"attributes": {
"versionId": "0fa91ce3e96a4bc2be4bd9ce752c3425",
"countryId": "c75aecfa9a764755803a7be2805f1b20",
"countryStateId": null,
"orderId": "d87f918d31ef4e2d9aa50a07fcdd4a19",
"orderVersionId": "0fa91ce3e96a4bc2be4bd9ce752c3425",
"salutationId": "7a13ffcc067f4576885651bac3a7f8ac",
"firstName": "U",
"lastName": "H",
"street": "Strasse 6",
"zipcode": "12345",
"city": "Ort",
"company": null,
"department": null,
"title": null,
"vatId": null,
"phoneNumber": "0123456",
"additionalAddressLine1": null,
"additionalAddressLine2": null,
"customFields": null,
"createdAt": "2021-08-05T11:48:36.197+00:00",
"updatedAt": null,
"apiAlias": null
},
"links": {
"self": "https:\/\/www.cc.cc\/api\/order-address\/af0097872b6a42f596d4aba539ec7e1f"
},
"relationships": {
"country": {
"data": null,
"links": {
"related": "https:\/\/www.cc.cc\/api\/order-address\/af0097872b6a42f596d4aba539ec7e1f\/country"
}
},
Mein aktueller Versuch war es die app/administration/src/module/sw-order/page/sw-order-list/index.js folgendermaßen zu ergänzen:
import { Component, Mixin } from 'src/core/shopware';
import template from './sw-order-list.html.twig';
import './sw-order-list.scss';
import deDE from '../../../../snippet/de-DE.json';
import enGB from '../../../../snippet/en-GB.json';
Shopware.Locale.extend('de-DE', deDE);
Shopware.Locale.extend('en-GB', enGB);
Shopware.Component.override('sw-order-list', {
template,
computed : {
orderColumns() {
let columns = this.getOrderColumns();
columns.push({
property: 'deliveries',
label: 'sw-order.list.trackingnumber',
align: 'left',
allowResize: true
},{
property: 'country',
label: 'sw-order.list.country',
align: 'left',
allowResize: true
});
return columns;
},
orderCriteria() {
const criteria = this.$super('orderCriteria');
criteria.getAssociation('billingAddress').addAssociation('country');
return criteria;
}
},
methods : {
getTrackingNumbers(order){
var trackingNumbers = "";
order.deliveries.forEach(function(item){
trackingNumbers += item.trackingCodes.join(", ");
});
return trackingNumbers;
}
}
});
Auch einen Versuch über „defaultCriteria“ und „methods“ mit Funktion habe ich erfolglos probiert.
Hoffe es kann mir hier jemand weiterhelfen.
Und evtl kann jemand den Beitrag in „Programmierung“ verschieben …