FROM CACHE - de_header
Gelöst

Metafield Abfrage Datum Heute+Vergangenheit oder Zukunft

Otsche1g
Neues Mitglied
6 0 0

Hallo,

 

ich habe ein Metafeld bei meinen Produkten, welches das Datum anzeigt, wann Artikel die nicht auf Lager sind, eintreffen werden. Ich hätte nun gerne, das bei den Produkten das Datum nur dann angezeigt wird, wenn es noch in der Zukunft liegt. Gibt es irgendwie die Möglichkeit eine If Abfrage zu bauen? Wenn Datum heute oder älter, dann Metafield nicht anzeigen oder halt wenn das Datum noch nicht erreicht wurde, dann das Feld anzeigen?

 

mfg

1 AKZEPTIERTE LÖSUNG

Gabe
Shopify Staff
17969 2847 4188

Erfolg.

Hey @Otsche1g 

 

Super Idee und du kannst bestimmt mit einer Abfrage im Theme Liquid Code prüfen, ob das Datum im Metafeld größer ist als das heutige Datum.

 

Wenn du es selber DIY programmieren möchtest dann bitte immer in einer Themekopie/Testumgebung zuerst testen und zusammen mit einem Experten/Programmierer. Du kannst ein Backup deines Themes erstellen, bevor man den Code bearbeitet, oder den Code wiederherstellen, falls dies nötig sein sollte. Du könntest auch einen unserer Experten engagieren indem du denen eine E-Mail rüberschießt. Unsere Experten antworten meist sehr schnell.

Änderungen zu deinem Theme Code können auch 1) die Page Loading Speeds negativ beeinflussen und 2) dein Theme aus den Theme Updates ausschließen. Das folgende ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!

 

Um eine bedingte Anzeige für ein Metafeld basierend auf dem Datum im Liquid-Code von Shopify zu erstellen, den folgenden Ansatz verwenden:

  1. Assign the metafield to a variable:

    {% assign arrival_date = product.metafields.namespace.key %}
    
  2. Convert the metafield date to a Liquid date object:

    {% assign arrival_date = arrival_date | date: "%s" %}
    
  3. Get today's date in the same format:

    {% assign today = 'now' | date: "%s" %}
    
  4. Compare the dates and display the metafield if the condition is met:

    {% if arrival_date > today %}
      {{ product.metafields.namespace.key }}
    {% endif %}
    

Dann namespace und key mit deinem tatsächlichen Metafelder-Namensraum und Schlüssel. Dieser Code prüft, ob das Ankunftsdatum im Vergleich zum heutigen Datum in der Zukunft liegt und zeigt das Metafeld nur an, wenn die Bedingung erfüllt ist. Mehr über Datum in Liquid erfährst du in Shopify's Liquid date filters Doku:

ODER

Du kannst beispielsweise einen Liquid-Code in die Produkt-Template-Datei einbauen, der prüft, ob das Datum im Metafeld in der Zukunft liegt:

 

{% assign today_date = 'now' | date: '%Y-%m-%d' %}
{% assign arrival_date = product.metafields.custom.arrival_date %}

{% if arrival_date > today_date %}
  <p>Dieses Produkt wird am {{ arrival_date }} verfügbar sein.</p>
{% endif %}

 

Erklärung des Codes

  • today_date: Setzt das heutige Datum im Format YYYY-MM-DD.
  • arrival_date: Holt das Datum aus dem Metafeld (ersetze custom.arrival_date durch den tatsächlichen Namespace und Schlüssel deines Metafelds).
  • Die If-Abfrage prüft, ob das arrival_date größer ist als das today_date.
  • Stelle sicher, dass das Metafeld-Datum im Format YYYY-MM-DD gespeichert wird, damit der Vergleich korrekt funktioniert.
  • Teste die Änderungen in der Vorschau deines Shops, um sicherzustellen, dass das Datum nur angezeigt wird, wenn es in der Zukunft liegt.

Weitere Ressourcen

Damit solltest du sicherstellen können, dass das Metafeld mit dem Datum nur dann angezeigt wird, wenn das Datum in der Zukunft liegt, und somit nur relevante Informationen für deine Kunden dargestellt werden.

 

Hoffe das hilft dir weiter - lass wissen falls nicht! 😉

---
Warum nicht etwas Gamification in das Shop einbauen, um deinen Kunden etwas Fun im Shop anzubieten? Gerne kann ich bei Interesse Tipps dazu geben!

Hast du weitere Fragen zum Shop? Gebe einfach ein Suchbegriff oben in der Suchleiste der Community Landingpage ein, denn das Thema haben wir sehr wahrscheinlich schon besprochen. Halte bitte Ausschau in deiner E-Mail auf Notifications zu Antworten auf deine Fragen in der Community.

 

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog

Lösung in ursprünglichem Beitrag anzeigen

1 ANTWORT 1

Gabe
Shopify Staff
17969 2847 4188

Erfolg.

Hey @Otsche1g 

 

Super Idee und du kannst bestimmt mit einer Abfrage im Theme Liquid Code prüfen, ob das Datum im Metafeld größer ist als das heutige Datum.

 

Wenn du es selber DIY programmieren möchtest dann bitte immer in einer Themekopie/Testumgebung zuerst testen und zusammen mit einem Experten/Programmierer. Du kannst ein Backup deines Themes erstellen, bevor man den Code bearbeitet, oder den Code wiederherstellen, falls dies nötig sein sollte. Du könntest auch einen unserer Experten engagieren indem du denen eine E-Mail rüberschießt. Unsere Experten antworten meist sehr schnell.

Änderungen zu deinem Theme Code können auch 1) die Page Loading Speeds negativ beeinflussen und 2) dein Theme aus den Theme Updates ausschließen. Das folgende ist Theme-abhängig, ohne Gewähr und dient lediglich dazu dich in die richtige Richtung zu weisen!

 

Um eine bedingte Anzeige für ein Metafeld basierend auf dem Datum im Liquid-Code von Shopify zu erstellen, den folgenden Ansatz verwenden:

  1. Assign the metafield to a variable:

    {% assign arrival_date = product.metafields.namespace.key %}
    
  2. Convert the metafield date to a Liquid date object:

    {% assign arrival_date = arrival_date | date: "%s" %}
    
  3. Get today's date in the same format:

    {% assign today = 'now' | date: "%s" %}
    
  4. Compare the dates and display the metafield if the condition is met:

    {% if arrival_date > today %}
      {{ product.metafields.namespace.key }}
    {% endif %}
    

Dann namespace und key mit deinem tatsächlichen Metafelder-Namensraum und Schlüssel. Dieser Code prüft, ob das Ankunftsdatum im Vergleich zum heutigen Datum in der Zukunft liegt und zeigt das Metafeld nur an, wenn die Bedingung erfüllt ist. Mehr über Datum in Liquid erfährst du in Shopify's Liquid date filters Doku:

ODER

Du kannst beispielsweise einen Liquid-Code in die Produkt-Template-Datei einbauen, der prüft, ob das Datum im Metafeld in der Zukunft liegt:

 

{% assign today_date = 'now' | date: '%Y-%m-%d' %}
{% assign arrival_date = product.metafields.custom.arrival_date %}

{% if arrival_date > today_date %}
  <p>Dieses Produkt wird am {{ arrival_date }} verfügbar sein.</p>
{% endif %}

 

Erklärung des Codes

  • today_date: Setzt das heutige Datum im Format YYYY-MM-DD.
  • arrival_date: Holt das Datum aus dem Metafeld (ersetze custom.arrival_date durch den tatsächlichen Namespace und Schlüssel deines Metafelds).
  • Die If-Abfrage prüft, ob das arrival_date größer ist als das today_date.
  • Stelle sicher, dass das Metafeld-Datum im Format YYYY-MM-DD gespeichert wird, damit der Vergleich korrekt funktioniert.
  • Teste die Änderungen in der Vorschau deines Shops, um sicherzustellen, dass das Datum nur angezeigt wird, wenn es in der Zukunft liegt.

Weitere Ressourcen

Damit solltest du sicherstellen können, dass das Metafeld mit dem Datum nur dann angezeigt wird, wenn das Datum in der Zukunft liegt, und somit nur relevante Informationen für deine Kunden dargestellt werden.

 

Hoffe das hilft dir weiter - lass wissen falls nicht! 😉

---
Warum nicht etwas Gamification in das Shop einbauen, um deinen Kunden etwas Fun im Shop anzubieten? Gerne kann ich bei Interesse Tipps dazu geben!

Hast du weitere Fragen zum Shop? Gebe einfach ein Suchbegriff oben in der Suchleiste der Community Landingpage ein, denn das Thema haben wir sehr wahrscheinlich schon besprochen. Halte bitte Ausschau in deiner E-Mail auf Notifications zu Antworten auf deine Fragen in der Community.

 

Gabe | Social Care @ Shopify
 - War meine Antwort hilfreich? Klicke Like um es mich wissen zu lassen! 
 - Wurde deine Frage beantwortet? Markiere es als Akzeptierte Lösung 
 - Um mehr zu erfahren, besuche das Shopify Help Center oder den Shopify Blog