Liquid, JavaScript, Themes
Hallo!
Ich möchte bei den einzelnen Produktseiten einen unterschiedlichen HTML Code bzw Skripte einfügen. Aufgrund der neuen Struktur mit den json Files habe ich dazu eine Frage.
Löse ich dies über das Theme.liquid indem ich zb. folgenden Code einfüge:
{%if product.handle == 'NameProdukt' %}
{%comment%} hier ist mein html code etc. (natürlich ohne Kommentar 🙂 {%endcomment%}
{%endif%}
Oder gibt es da einen anderen Weg, damit ich dies gleich im json File integriere?
Danke für die Hilfestellung.
Liebe Grüße
Franz
@franz-messner, um wie viele unterschiedliche Scripte geht es denn?
In den JSON geht das leider nicht direkt.
@Finer schrieb:@franz-messner, um wie viele unterschiedliche Scripte geht es denn?
In den JSON geht das leider nicht direkt.
Hallo Finer!
Danke für deine Rückmeldung!
Es geht um Schema Ergänzungen die ich immer wieder mache, etc... Also die Anzahl variiert immer wieder, da ich aber nur wenige Artikel habe ist das auch nicht so wild.
Nur wie macht man das am Besten? Auch hinsichtlich "vieler" Artikel? Bis jetzt habe ich in all meinen HTML/CSS Projekten immer direkt auf der gewünschten Seite alles editiert.
LG
@franz-messner kannst du ein konkretes Beispiel nennen, wofür du das nutzen willst?
Je nachdem was du vorhast, können wir ein paar Ansätze durchdenken, die nicht gleich mit einer Programmierung verbunden ist. Eventuell lassen sich auch die Metafelder dafür nutzen.
Hallo!
Natürlich gerne!
1) Einfügen Skriptcode für Schema.org
2) Einfügen von Code für Affiliate Skripts
Das wäre mal das vorrangige für meine Vorhaben...
LG
Es gibt bei den Produkt-Metafeldern die Option auch bei jedem Produkt JSON / URLs und weitere Inhalte zu hinterlegen.
Mehr dazu findest du hier und hier. Ich bin mir nicht 100% sicher, ob das für deine Zwecke reicht, aber du könntest das als Block im Produkt-Template hinzufügen und jedem Produkt das entsprechende JSON bzw. den Inhalt zuweisen.
Alles andere könntest du ggf. direkt in separate Blocks eintragen und unterschiedliche Produkt-Templates erstellen, welche wiederum die entsprechenden Blocks verwenden. Die Frage ist, ob das Produkt-Template dadurch nicht unnötig groß und unübersichtlich wird.
Hallo!
Ich verwende das Motion Theme.... hier wird ja pro Produkt (Template) das json file angelegt.
Aber ist da nicht dann die beste Umsetzung im theme.liquid meine "handles" aufzubauen, wie in meinem posting beschrieben?
Weil die Metadaten werden ja auch nur eingefügt... und somit weiß ich aufgrund der Übersicht des Codes, was ich wo eingefügt habe.
lg
@franz-messner Achte auf meine Formulierung 😉 – Ich vermute schon.
Aber ich bin mir nicht 100 % sicher, ob es woanders doch besser wäre. Eventuell hat @Gabe hier noch eine Idee?
@franz-messner – ich bin da bei @Finer – auf JSON-Basis kenn ich keine Möglichkeit das zu machen. Es gibt aber eben einige Ansätze, wie man das Pferd aufzäumen kann, die da wieder von den konkreten Rahmenbedingungen abhängen.
Der Ansatz das ganze über Metafields zu lösen wäre v.a. dann sexy, wenn – da du ja ohnehin sagst, dass Du sehr wenige Produkte hast – diese Custom Code Geschichten wirklich nur für einzelne Produkte relevant sind.
Ein anderer Vorschlag, der Sinn machen könnte wär, dass Du eine eigene Section dafür definierst, die Du im Template referenzierst und die dann basierend auf Produkt-ID, Kategorie, Matafield, etc. – je nachdem was die Vorraussetzung ist – entsprechenden Code im Liquid rendert. Man könnte das sogar soweit treiben, dass Du die Section per Customizer in einzelnen Produkttemplates hinzufügen und konfigurieren könntest. Das Schema wirst Du darin aber nicht speziell ändern können. Da müsstest Du schon vor dem inkludieren die Abfrage machen, welcher Code geladen werden soll und in diesem Code dann unterschiedliche Schema definieren.
Ich hoffe das hilft,
Mario
@r8r Danke für deine Rückmeldung!
Ich frage mich aber gerade ob das nicht alles viel aufwendiger ist bei jedem Produkt die Meta anzulegen oder wie du beschreibst für jedes Produkt eine Section?
Wäre es da nicht doch einfacher im theme.liquid die if Verzweigung zu machen, je nachdem ich welches Produkt habe? und dort den Code reinzugeben? Dann habe ich wenn ich mal was editieren muss alles auf einem Fleck...
Wie wird das gelöst wenn man hunderte Produkte hat? Also zb. mit dem Schema-Daten?
Wäre es da nicht doch einfacher im theme.liquid die if Verzweigung zu machen, je nachdem ich welches Produkt habe? und dort den Code reinzugeben?
Schön ist das nicht, aber klar, Du hast Schon recht. Aber mach's dann wenigstens über ein Snippet. 😉
Wie wird das gelöst wenn man hunderte Produkte hat? Also zb. mit dem Schema-Daten?
Wenn ich jetzt gemein sein wollte, würde ich die Technologiewahl in Frage stellen.
ich habe mir das jetzt nochmals mit den metadaten angesehen. man kann zwar JSON auswählen, jedoch ist es möglich da skripte in HTML reinzubringen? oder ist nur JSON Code möglich?
Soweit ich mich erinnere gibt's Probleme mit HTML in Multi-Line Text Metafields, aber Du kannst in Single-Line Text Metafields HTML-Code schreiben und den korrekt rendern lassen. Zum Verwalten ist das natürlich alles andere als elegant, aber sollte möglich sein.
Ich hoffe das hilft,
Mario
ich habe mir das jetzt nochmals mit den metadaten angesehen. man kann zwar JSON auswählen, jedoch ist es möglich da skripte in HTML reinzubringen? oder ist nur JSON Code möglich?
Vielleicht könnt ihr mir da eine Rückmeldung geben.
Danke und LG
Franz
@franz-messner das ist wirklich nur für JSON gedacht.
Teil 2 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 16, 2024Teil 1 - Wie die Prinzipien des UX-Designs dir dabei helfen können einen großartigen Shop ...
By Kai Sep 9, 2024Anpassungen des benutzerdefinierten Codes an Shopify-Themes (CSS) leicht gemachtIn diesem...
By Gabe Aug 28, 2024