Prestige Theme - In Pre-order Vorlage ändern, wenn Inventar <= 0

Hallo Liebe Community

Ich hoffe, ihr könnt mir helfen.

Ich verwende das Prestige-Theme und versuche, das Template von Standardprodukt in pre-order zu ändern, wenn der Produktbestand 0 erreicht.

{% if product.available %}
{% include ‘product-template’ %}
{% else %}
{% include ‘pre-order-template’ %}
{% endif %}

Ich habe zwar etwas kleines gefunden, konnte es aber nicht wirklich umsetzen.

Switch templates via the URL

Finally, there’s one other option for template selection that you have at your disposal. That is being able to select a particular template using the view querystring.

This will allow you to view a product or page on an alternative template by adding the templates name to the URL of the page. The format we would use here is ?view=alternative_template_name and this would be added to the end of the page URL.

Here’s an example for you to review (NB: these links are for demo purposes only):

https://partner-demo-alt-templates.myshopify.com/products/led-high-tops?view=special

In this instance, Shopify will load a product template called: product.special.liquid.

If the requested template doesn’t exist, Shopify will fail gracefully and use the default template, or the template specified in the admin. A really common use case for this technique is switching between a list and grid view within a product collection.

Danke im Voraus für eure Hilfe.

Viele Grüsse

Manuel

Hey @Panamera

das Ändern des Templates je nach Produktverfügbarkeit ist etwas kompliziert und da dieses Theme von Maestrooo unterstützt wird sind die Theme Entwickler die besten Ansprechpartner in dieser Sache. Die kannst du über diese Form am besten erreichen.

Wenn du versuchst, das Produkttemplate auf ein Pre-Order-Template zu ändern, sobald der Bestand 0 erreicht, kannst du folgende Dinge ausprobieren (aber ohne Gewähr! - Siehe dazu den App Support oder die Doku):

  1. Erstelle eine neue Datei in deinem Theme mit dem Namen “pre-order-template.liquid” (oder einem anderen Namen deiner Wahl).

  2. Um festzustellen, ob der Lagerbestand 0 ist, kannst du die Liquid-Variable product.variants[0].inventory_quantity verwenden, die den Lagerbestand für die erste Variante des Produkts enthält.

Hier ist ein modifizierter Code, den du in deinem Produkttemplate verwenden kannst:

{% if product.variants[0].inventory_quantity > 0 %}
  {% include 'product-template' %}
{% else %}
  {% include 'pre-order-template' %}
{% endif %}

Wenn du die Möglichkeit haben möchtest, das Template über die URL zu ändern, kannst du den Query-String ?view= verwenden. Hierfür musst du den Code anpassen, um den view-Parameter aus der URL abzurufen:

{% assign view = request.params.view | default: '' %}
{% if view == 'special' %}
  {% include 'product.special' %}
{% elsif product.variants[0].inventory_quantity > 0 %}
  {% include 'product-template' %}
{% else %}
  {% include 'pre-order-template' %}
{% endif %}

Durch diesen Code wird das Template aufgrund des Lagerbestands oder des URL-Parameters geändert.

Wenn du das Pre-Order-Template in der Shopify-Oberfläche sehen möchtest, musst du es möglicherweise auch im Shopify Admin unter “Einstellungen” > “Templates” hinzufügen, abhängig von deiner Shopify-Version und deinen spezifischen Anforderungen.

Hoffe das kann dir weiterhelfen! :wink:

Hallo Gabe

Vielen Dank für deine Antwort. Leider hat es nicht funktioniert, da

{% include ‘product-template’ %} sich auf die snippets bezieht, die templates, sind aber als

{{ ‘Pre-order’ | json }} zu beziehen.

Ich werde mich an die Entwickler richten.

Vielen Dank für deine Hilfe.

Viele Grüsse

Manuel

Hallo,

Leider gibt es keine integrierte Shopify-Einstellung für das automatische Wechseln von Produktvorlagen basierend auf Lagerbeständen. Du musst Liquid-Code in deine Prestige-Theme-Vorlage einfügen (Online StoreThemesCode bearbeiten → Produktvorlage finden). Der Code prüft Lagerbestände und lädt entsprechend verschiedene Template-Abschnitte. Hier ist Shopifys Anleitung zur Theme-Anpassung als Referenz.

Das erfordert Theme-Anpassung und regelmäßige Wartung, wenn sich dein Theme aktualisiert.

Alternativ kann eine App wie K1 PreOrder das automatisieren (ich bin der Gründer von K1 PreOrder) mit automatischem Button-Austausch bei null Inventar, anpassbarem Text und Anzeigemodi basierend auf Lagerbeständen (Always / Out of stock / Below threshold). Falls relevant, hier ist der K1 PreOrder Listing.

Kann gerne bei der Theme-Anpassung helfen.

Mit freundlichen Grüßen,
Yauheni

Hi,

der {% include ‘product-template’ %}-Ansatz stammt aus den alten Vintage-Themes – im Prestige (OS 2.0) gibt es diese Snippets so nicht mehr, deshalb greift er nicht. Und ehrlich: ein komplettes Template automatisch nach Live-Bestand umzuschalten, geht in OS 2.0 nativ nicht ohne App/Automatisierung. Für den eigentlichen Zweck – “aus In-den-Warenkorb wird Vorbestellen, sobald leer” – brauchst du das aber gar nicht:

Schritt 1 – Weiterverkauf erlauben: Bei der Variante unter Bestand “Weiterverkaufen, wenn nicht auf Lager” aktivieren (sonst ist der Button nur deaktiviert).

Schritt 2 – Button-Text bedingt umschalten in sections/main-product.liquid (bzw. dem Buy-Buttons-Snippet):

{%- assign v = product.selected_or_first_available_variant -%}
{% if v.inventory_quantity <= 0 and v.inventory_policy == ‘continue’ %}
Jetzt vorbestellen
{% else %}
In den Warenkorb
{% endif %}

Schritt 3 – optional ein Hinweis-Badge:

{% if v.inventory_quantity <= 0 and v.inventory_policy == ‘continue’ %}

Vorbestellung – Versand, sobald wieder verfügbar.

{% endif %}

Das reagiert automatisch pro Variante auf den echten Bestand – ohne Template-Wechsel, ohne App.

Wenn du wirklich ein komplett anderes Layout für Pre-order-Artikel brauchst, ist der native Weg: ein zweites Template product.preorder.json anlegen und beim Produkt manuell unter Theme-Vorlage zuweisen. Automatisch nach Bestand umhängen geht dann nur mit Pre-order-App oder einer Flow-Automatisierung. Sag, ob dir Button + Hinweis reicht – dann zeige ich dir die genaue Zeile im Prestige-Buy-Button.