Im Datenfeed Abfrage eines custom_fields

Hallo,

ich möchte gerne in einem Datenfeed eine Abfrage eines Custom Fields anlegen. Allerdings klappt das bei mir nicht.

Das Zusatzfeld ist angelegt und im Artikel als „Schalter“ hinterlegt und aktiviert.

Im Datenfeed habe ich folgendes stehen:

"{%- if product.translated.customFields.custom_meinfeld_schalter == 1 -%}
ja
{%- else -%}
nein
{%- endif -%}"

Fehler:
Failed rendering string template using Twig: Failed rendering string template using Twig: Key „custom_meinfeld_schalter“ does not exist as the array is empty in

Woran liegt es denn?

Danke und Grüße

Für was machst du denn ein - nach {% ? Das ist kein gültiger twig Code, soviel ich weiß.

In der .env den Shop von prod auf dev stellen, dann in dem Template {{ dump(product) }} eingeben und schauen, wo dein custom field gespeichert ist.

Das kann ich dir nicht sagen. Habs einfach vom vorhandenen kopiert. Ohne gehts auch nicht.

Du musst zuerst prüfen, ob das zusatzfeld in dem Produkt definiert ist.
So kannst Du z.B. die Werte eines customeFields im Feed ausgeben, wenn diese vorhanden sind.

{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​% if product.translated.customFields.HIER_DEIN_FELD is defined %}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ product.translated.customFields.HIER_DEIN_FELD }​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
{​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​% endif %}​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

Wichtig ist die Prüfung, ob Feld in dem Artikel da ist. Dann kann man mit if else alles ausgeben, was man braucht. Hoffe, dass das hilft. Man bekommt im Forum leider kaum Hilfe. Keiner kann mir sagen, wie man Streichpreise exportiert … :frowning:

1 „Gefällt mir“

Hallo zusammen, ich habe jetzt wie verrückt zwei Stunden versucht das Problem zu lösen aber bekomme es einfach nicht hin :frowning:. Das Problem ist das ich ein Custom Fields Aktiv/Deaktiv Schalter angelgt habe und eine Twig Datei erstellt habe mit einer if Abfrage die so aussieht:

{% block page_product_detail_description_content %}
{% block page_product_detail_description_content_text %}


{% if page.product.customFields.custom_warnhinweise_kinder_unter_14_jahre %}
{{ page.product.customFields.custom_warnhinweise_kinder_unter_14_jahre == true is not empty }}


Achtung: Nicht für Kinder unter 14 Jahren geeignet.


{% else %}
{% endif %}

{% endblock %}
{% endblock %}

Alles passt soweit und die Funktion aktivieren und deaktivieren funktioniert auch. Allergings wird im Frontend zu dem Ergebnis auch die Zahl 1 ausgegeben. Wenn ich allerdings das Custom Field deaktiviere passt alles und es bleibt leer. Da wird dann auch sauber keine 0 oder sonst was angezeigt. Alles leer wie es auch sein soll. Was mache ich falsch oder vergesse ich etwas ? Wie kann man diese 1 ausblenden ? Bitte um Hilfe :frowning:. Die eins dient ja lediglich für die Abfrage und sollte da nicht im Frontend ausgegeben werden.

Danke im Voraus für eure Unterstützung.

{% block page_product_detail_description_content %}
    {% block page_product_detail_description_content_text %}
        <div class="product-detail-description-text"
        itemprop="description">
                {% if page.product.customFields.custom_warnhinweise_kinder_unter_14_jahre %}
                    {{ page.product.customFields.custom_warnhinweise_kinder_unter_14_jahre == true is not empty }}
                            <div class="row align-items-center">
                                <div class="col-1 langpaket-icon"></div>
                                <div class="col-md-8"><b>Achtung:</b> Nicht für Kinder unter 14 Jahren geeignet.</div>
                            </div>
                        {% else %}   
                {% endif %}
            </div>     
    {% endblock %}
{% endblock %}

So sieht das Ergebnis aus :frowning:

Hab es gerade selber gelöst :slight_smile: Wenn es aber eine bessere Lösung gibt, wäre es toll wenn jemand dazu etwas teilen würde.

Hier meine Lösung:
Einfach ein span tag um das custom field packen und eine Klasse vergeben. Diese Klasse dann mit CSS auf display:none; und weg ist die EINS :slight_smile: