FROM CACHE - de_header
Diese Community hat auf Peer-to-Peer-Support umgestellt. Der Shopify Support wird diese Community nicht mehr betreuen. Wir empfehlen dir, dich mit anderen Händler:innen und Partner:innen in Verbindung zu setzen, um Unterstützung zu erhalten und Erfahrungen auszutauschen. Bitte melde weiterhin alles, was gegen unseren Verhaltenskodex verstößt, oder Inhalte, die deiner Meinung nach entfernt werden sollten.

Betreff: Liquid code erneut ausführen wenn eine Variante gewählt wird

Gelöst

Liquid code erneut ausführen wenn eine Variante gewählt wird

meicker
Entdecker
25 2 2

Hallo liebe Leute,

 

ich nutze das folgende Liquid um meinem Artikel pro Variante unterschiedliche Lieferzeiten geben zu können. An sich funktioniert das auch hervorragend, bis auf eine Kleinigkeit. Wenn ich die Variante wechsel wird der Code nicht erneut ausgeführt und die alte Lieferzeit bleibt bestehen. Wenn ich die Seite aktualisiere wird der Code erneut ausgeführt und das richtige Datum erscheint. Wie kann ich erreichen das der Code erneut ausgeführt wird wenn die Variante gewechselt wird ? 

der Code:

{% assign holidays = "25.12,01.01,01.05" | split: "," %}
{% assign current_year = "now" | date: "%Y" %}

{% assign ShippingTime = 3 %}

{%- if product.metafields.custom.versandzeit -%}
{% assign ShippingTime = product.metafields.custom.versandzeit %}
{%- elsif product.selected_or_first_available_variant.metafields.custom.versandzeit -%}
{% assign ShippingTime = product.selected_or_first_available_variant.metafields.custom.versandzeit %}
{%- endif -%}

{% assign daysStart = ShippingTime | times: 86400 %}
{% assign daysEnd = ShippingTime | plus: 3 | times: 86400 %}

{% assign deliveryStart = "now" | date: "%s" | plus: daysStart %}
{% assign deliveryEnd = "now" | date: "%s" | plus: daysEnd %}

{%- assign deliveryStartDay = deliveryStart | date: "%w" -%}
{%- assign deliveryEndDay = deliveryEnd | date: "%w" -%}

{% comment %}
Überprüfen, ob das Start- oder Enddatum auf einen Sonntag fällt
{% endcomment %}
{%- if deliveryStartDay == '0' -%}
{% assign deliveryStart = deliveryStart | plus: 86400 %}
{%- endif -%}
{%- if deliveryEndDay == '0' -%}
{% assign deliveryEnd = deliveryEnd | plus: 86400 %}
{%- endif -%}

{% comment %}
Feiertage berücksichtigen, dynamisch mit dem aktuellen Jahr
{% endcomment %}
{%- for holiday in holidays -%}
{%- assign holiday_with_year = holiday | append: "." | append: current_year -%}

{% assign deliveryStart_formatted = deliveryStart | date: "%d.%m.%Y" %}
{% assign deliveryEnd_formatted = deliveryEnd | date: "%d.%m.%Y" %}

{% comment %}
Prüfen, ob das Start- oder Enddatum ein Feiertag ist
{% endcomment %}
{%- if deliveryStart_formatted == holiday_with_year -%}
{% assign deliveryStart = deliveryStart | plus: 86400 %}
{%- endif -%}
{%- if deliveryEnd_formatted == holiday_with_year -%}
{% assign deliveryEnd = deliveryEnd | plus: 86400 %}
{%- endif -%}
{%- endfor -%}

Vorraussichtliche Lieferung: {{ deliveryStart | date: "%d.%m.%Y" }} - {{ deliveryEnd | date: "%d.%m.%Y" }}

 

Vielen Dank für eure Hilfe vorab !

1 AKZEPTIERTE LÖSUNG
Finer
Shopify Partner
2608 551 904

Erfolg.

@meicker folgende Seite beschreiben die Option, Varianten-Informationen beim Wechsel abzurufen. Allerdings betrifft es das Dawn Theme:

https://ed.codes/blog/how-to-show-variant-sku-number-on-product-pages-shopify-2-0-dawn-and-free-them...

 

Du möchtest zwar keine SKU abrufen, aber es geht in dem Beitrag um das Prinzip, das auf dein Variantemetafeld angewandt werden kann.

 

- Did my answer help? Mark my post with a like
- Did I solve your problem? Mark my post as an accepted solution.
- You need professional help? Contact our Shopify Partner Agency

Lösung in ursprünglichem Beitrag anzeigen

8 ANTWORTEN 8

Finer
Shopify Partner
2608 551 904

@meicker, das kommt darauf an, welches Theme du verwendest, aber im Grunde musst du noch ein Skript einfügen, das diesen Bereich bei einem Variantenwechsel aktualisiert (so wie beim Preis).

- Did my answer help? Mark my post with a like
- Did I solve your problem? Mark my post as an accepted solution.
- You need professional help? Contact our Shopify Partner Agency
meicker
Entdecker
25 2 2

Hi Finer,

ich nutze das Craft Theme.

Der Code sieht zwar toll aus, aber dabei konnte mir ChatGPT ganz gut unter die Arme greifen🤣 Leider habe ich keine Ahnung wie der Code aussehen soll und wo er hin muss. Ich hatte schon bei den .liquids geschaut aber ohne zu wissen was ich machen soll hab ich da wohl keine Chance.

Könntest Du mir helfen oder ein paar Hinweise geben ?

 

vg Marc

Finer
Shopify Partner
2608 551 904

Erfolg.

@meicker folgende Seite beschreiben die Option, Varianten-Informationen beim Wechsel abzurufen. Allerdings betrifft es das Dawn Theme:

https://ed.codes/blog/how-to-show-variant-sku-number-on-product-pages-shopify-2-0-dawn-and-free-them...

 

Du möchtest zwar keine SKU abrufen, aber es geht in dem Beitrag um das Prinzip, das auf dein Variantemetafeld angewandt werden kann.

 

- Did my answer help? Mark my post with a like
- Did I solve your problem? Mark my post as an accepted solution.
- You need professional help? Contact our Shopify Partner Agency
meicker
Entdecker
25 2 2

@Finer 

da steige ich nicht durch zumal bei mir die SKU ja beim wechsel der Variante bereits aktualisiert wird. Nicht das ich da was doppelt einbaue und mir Fehler produziere. 

Es müsste doch irgendwie möglich sein die bestehenden Befehle die z.B die SKU updaten auf das benutzerdefinierte liquid auszuweiten.

Finer
Shopify Partner
2608 551 904

@meicker das ist ja mein Punkt. In der Schule hätte man das als Transferaufgabe bezeichnet. 😉
Du willst ja nicht die SKU aktualisieren, aber Du willst einen Varianten-Wert (identisch zu einer SKU) laden.

Im Theme JS sollte irgendwo eine Stelle zu finden sein, welche die SKU aktualisiert. Diese muss man dann für das Element erweitern, auf die sich das beziehen soll. Leider kenne ich den Code & die Stelle beim Craft Theme nicht.

- Did my answer help? Mark my post with a like
- Did I solve your problem? Mark my post as an accepted solution.
- You need professional help? Contact our Shopify Partner Agency
meicker
Entdecker
25 2 2

😃Ja - so lernt man das auch - Du hast absolut Recht. Ich schaue mir das mal genauer an ...

meicker
Entdecker
25 2 2

@Finer Schade - hab es tatsächlich geschnallt und könnte es wahrscheinlich auch nutzen. Aber leider hat sich scheinbar die global.js so stark geändert, dass ich keine Passage für die Änderung mehr finde oder zuordnen könnte ... Da scheint alles anders zu sein.

Das wirft natürlich auch noch eine weitere Frage auf. Wie update sicher ist denn so eine Anpassung überhaupt ? Wenn ich ein Theme update, werden dann meine Änderungen überschrieben ? Müsste ja eigentlich so sein ... oder ?

meicker
Entdecker
25 2 2

Das ist die richtige Lösung. Ich habe es damit umsetzen können. Allerdings sind die erforderlichen Codestellen nicht wie beschrieben in der global.js sondern in der product-info.js zu finden.