flbm
15. April 2021 um 12:27
1
Hallo zusammen,
ich möchte in den Dokumenten-Templates einzelne Eigenschaften mit aufführen, z.B. den Alkoholgehalt bei Getränken etc.
Ich habe die base.html.twig wie in der Dokumentation aufgeführt abgeleitet und das funktioniert auch.
Ich möchte jetzt in folgendem Block einzelne Eigenschaften einfügen:
{% block document_line_item_table_row_label %}
<td class="line-item-breakable">
{{ lineItem.label }}
{% if lineItem.payload.options|length >= 1 %}
<br/>
{% for option in lineItem.payload.options %}
{{ option.group }}: {{ option.option }}
{% if lineItem.payload.options|last != option %}
{{ " | " }}
{% endif %}
{% endfor %}
{% endif %}
</td>
{% endblock %}
Wie kann ich diese abrufen? Vielleicht kann mir da ja jemand weiterhelfen
Hast du die Eigenschaften schon zu Verfügung? hast du mal {{ dump(lineItem) }} versucht ? Unter lineitems.payload.propertyIds scheint es die Eigenschaften IDs schon zu geben. Die ausgeschriebenen Eigenschaften gibt es dort scheinbar noch nicht?
Ich glaube du musst deine Eigenschaft „Alkoholgehalt“ über das Admin Panel → Einstellungen → Wesentliche Merkmale hinzufügen. Mit etwas Glück taucht es dann unter lineItem.features auf?
EDIT: Kurz geprüft: ja, ist so - die Eigenschaften tauchen dann unter lineItem.payload.features auf.
impuls
28. April 2022 um 09:05
3
Hättest du nochmal einen konkreten Tipp für mich?
Ich habe Zusatzfelder angelegt → Einstellungen Zusatzfelder: Lagerplatz und dort das Label Lagerplatz
Das habe ich beim Artikel gefüllt.
Unter Einstellungen → Wesentliche Merkmale habe ich „Lagerplatz“ neu angelegt und unten als Wert das Zusatzfeld Lagerplatz zugeordnet.
Bekomme ich es nun irgendwie in einem Dokument angezeigt?
Als Zusatzfeld ist es {{ page.product.translated.customFields.custom_lagerplatz_box }} → bei den Dokumenten bekomme ich es jedoch nicht ausgegeben.
sorry, nein dann weiß ich es icht
flbm
28. April 2022 um 09:52
5
Ich bin da leider auch noch nicht weitergekommen…
impuls
28. April 2022 um 10:02
6
{{ lineItem.payload.customFields.custom_lagerplatz_box }}
Da ist das Snippet
Dafür müssen aber eben auch die „Wesentlichen Merkmale“ zugeordnet sein wie @aleximi schon erklärt hat.
In der Version 6.5.6.0 werden bei mir keine customFields an das PDF-Template übergeben. Die Felder sind leer. Das hat in vorherigen SW-Versionen schon mal funktioniert.
1 „Gefällt mir“
Ich stehe auch vor der Frage, wie ich Zusatzfelder in der Rechnung ausgeben kann.
Push…
Hat schon jemand eine Lösung, um die CustomFields in der Rechnung anzuzeigen?
Bin nun ein Stück weiter. Nun wieder mit Eigenschaften und nicht CustomFields.
Mit „wesentliche Merkmale“ landen die Eigenschaften im Dokument so:
"features": [
{
"type": "property",
"label": "Inhalt",
"value": {
"0b0993fb676c4080a343b49e50016990": {
"id": "0b0993fb676c4080a343b49e50016990",
"name": "500 ml",
"mediaId": null,
"colorHexCode": null
}
}
},
{
"type": "property",
"label": "Farbe",
"value": {
"b12ff863b60d408d8bb63feef7d74c20": {
"id": "b12ff863b60d408d8bb63feef7d74c20",
"name": "lila",
"mediaId": null,
"colorHexCode": null
}
}
}
]
Wie kann ich nun darauf zugreifen?
So geht es nicht.
{% for feature in lineItem.payload.features %}
{% if feature.type == 'property' %}
{% if feature.label == 'Inhalt' %}
{{ feature.label|trans|sw_sanitize }} {{ feature.value.'0b0993fb676c4080a343b49e50016990'.name }}
{% endif %}
{% endif %}
{% endfor %}
k.tat
11. Januar 2024 um 12:48
11
Ich konnte meine Farben mit den Merkmalen so aufrufen im Dokument.
{% if feature.type == 'property' %}
{% if feature.label == 'Farbe' %}
<b>{{ feature.label|trans|sw_sanitize }}: {% for value in feature.value %}{{value.name}}{% endfor %}</b>
{% endif %}
{% endif %}
1 „Gefällt mir“
Prima, das werde ich testen. Ist deutlich übersichtlicher.