Was ist neu für Shopify Theme-Entwickler in 2017?

Wie einige von Ihnen vielleicht bereits in meinen vorherigen Artikeln gesehen haben, ist Shopify eine auf Themen basierende gehostete Commerce-Plattform, mit der Sie Online-Shops erstellen können. Sie ist in den letzten Jahren stetig gewachsen und ist heute die Plattform für mehr als 400.000 Unternehmen in rund 175 Ländern. 

Die Shopify-Plattform wird ständig weiterentwickelt. In den letzten Monaten wurden eine Reihe wichtiger Funktionen eingeführt, die sich speziell an Themen- und App-Entwickler richten. In diesem Artikel betrachten wir eine Auswahl dieser neuen Funktionen und Toolsets, darunter:

  1. Aktualisierungen der Bildverwaltung von Themen
  2. Abschnitte
  3. Blöcke
  4. ThemeKit und Schiefer
  5. Das Polaris Design System

Viele der folgenden Beispiele werden diskutiert Flüssigkeit. Liquid ist die Vorlagensprache, mit der Designentwickler Platzhalter und Logikkonstrukte in ihren Vorlagen verwenden können, die durch Live-Store-Daten ersetzt werden, wenn eine Seite angefordert und gerendert wird. Es verwendet eine einfache Syntax, die die Ausgabe (z. B. einen Produkttitel) und die Logik (z. B. a zum Schleife). Ich werde hier nicht auf viele Details eingehen, aber Sie können sich meinen 25-minütigen Screencast ansehen, der ausführlichere Informationen zur Funktionsweise von Liquid enthält.

Und während Sie hier sind, interessieren Sie sich möglicherweise auch für den folgenden Inspirationsbeitrag für Themen, die bei Themeforest verfügbar sind:

  • 20 Beste Shopify-Designs mit schönen E-Commerce-Designs

    Das Erstellen einer E-Commerce-Site ist ein Kinderspiel, wenn Sie die besten Shopify-Designs zur Auswahl haben. Ein hochwertiges Shopify-Design hat die Funktionen, die Sie benötigen.
    Brenda Barron
    Shopify

1. Neues Theme Image Management

Beginnen wir mit einer der wichtigsten Änderungen, die sich in letzter Zeit ereignet haben: der img_url Flüssigkeitsfilter Bis vor kurzem wurden Bilder basierend auf einem Satz vordefinierter benannter Größen gerendert. Zum Beispiel:

product.featured_image | img_url: 'grande'

Hier fordern wir das abgebildete Bild für das Produkt in Größe an grande. Dies würde, vorausgesetzt, das Originalbild hätte eine Seite gleich oder größer als 600px sein, das Bild mit der längeren der beiden Achsen als 600px rendern.

Diese genannten Größen sind nun veraltet und wurden zwar noch funktionieren, sie wurden jedoch durch einen neuen Parametersatz ersetzt, einschließlich Größe, Ernte, Rahmen, und Format. Auf diese Weise können jetzt zahlreiche Bildmanipulationen vorgenommen werden, die Shopify-Designentwicklern zuvor nicht zur Verfügung standen.

Ich werde die verwenden img_url Flüssigkeitsfilter in diesen Beispielen, aber die Techniken funktionieren auch mit den folgenden anderen Bildobjekten:

  • product_img_url
  • collection_img_url
  • article_img_url
  • asset_img_url

Beginnen wir damit, wie wir die Größe eines Bildes ändern können. Dazu ersetzen wir das jetzt veraltete Bild Name mit einer bestimmten Größe in Pixel. Hier ist ein Beispiel:

product.featured_image | img_url: '450x450'

Wenn Sie die obige Syntax verwenden, haben Sie nun die Kontrolle über die Bildabmessungen in Ihren Händen: Hier haben wir sowohl die Breite als auch die Höhe (in dieser Reihenfolge) angegeben..

Sie können auch nur eine Breite angeben:

product.featured_image | img_url: '450x'

oder nur eine Höhe:

product.featured_image | img_url: 'x450'

Wenn Sie einen einzelnen Wert angeben, berechnet Shopify die verbleibenden Abmessungen basierend auf der Originalbildgröße. Dabei bleibt das Seitenverhältnis des Originalbilds erhalten.

Wenn Sie zu unserem ursprünglichen Beispiel zurückkehren, könnten Sie denken, dass dies dazu führen würde, dass eine 450 x 450-Version Ihres Bildes gerendert wird. Dies ist jedoch nicht immer der Fall.

Diese Anforderung würde nur dann zu einem perfekten Quadrat führen, wenn beide der folgenden Bedingungen erfüllt sind:

  • Das Originalbild war auf beiden Achsen mindestens 450px
  • Beide Seiten sind gleich lang

Wenn beide Bedingungen erfüllt sind, wird ein Bild mit einer Größe von 450x450 gerendert. Andernfalls ändert Shopify die Größe mit derselben Logik, als hätten Sie nur Höhe oder Breite angegeben. Die längste Seite siegt in dieser Situation und wird entsprechend skaliert.

Um quadratische Bilder zu erstellen, können Sie den Parameter Zuschneiden verwenden, um sicherzustellen, dass die Abmessungen des resultierenden Bildes den angeforderten Abmessungen entsprechen. Wenn das gesamte Bild nicht in die von Ihnen gewünschten Abmessungen passt, gibt der Zuschneideparameter an, welcher Teil des Bildes angezeigt werden soll. Es gibt drei gültige Optionen:

  • oben
  • Center
  • Unterseite
  • links
  • Recht

Diese Funktionalität ist seit Ende 2016 verfügbar, aber Anfang 2017 wurde ein Update veröffentlicht, das noch mehr Flexibilität bietet. Alle im Shopify Theme Store verfügbaren Themen, einschließlich des unten abgebildeten Premium-Themas Empire, verwenden alle diese Techniken. Das Installieren eines kostenlosen Themas ist eine großartige Möglichkeit, um mehr über die Umsetzung dieser Ideen zu erfahren.

Mit Liquid können Sie jetzt direkt auf die Eigenschaften von Höhe, Breite und Seitenverhältnis eines Bildes zugreifen. Themenentwickler können diese Informationen nun nutzen, um Bilder bereitzustellen, die für den Endbenutzer angemessen sind. Hier ist ein Beispiel mit srcset Um zu beschreiben, wie Sie dies in Ihren eigenen Themen nutzen können:
% für Produkt in collection.products% % Zuweisung image = product.featured_image% image.alt | Flucht  % endfor% 

In diesem Beispiel verwenden wir die zuordnen Liquid-Funktion zum Erstellen einer aufgerufenen Variablen Bild Dies entspricht dem aktuell angezeigten Produktbild (das im Shopify-Administrator festgelegt ist). Wir sind dann in der Lage, Liquid Logic zu verwenden, um unsere srcset Erklärungen, die in diesem Fall die Breite Eigentum:

% if image.width> 640% image.src | img_url: '640x' 640w % endif%

Die gute Nachricht ist, dass sich Themenentwickler nicht darum kümmern müssen, alle Bilder erneut hochzuladen, da Shopify jedes Bild auf der Plattform indiziert hat.

Zwei weitere Parameter, die es wert sind, diskutiert zu werden, sind Rahmen und Format. Mit dem Skalierungsparameter können Sie die Pixeldichte des Bildes angeben. Sie können je nach Bedarf entweder 2x oder 3x skalieren:

product.image | img_url: '400x400', Maßstab: 2

Das Format Mit diesem Parameter können Sie angeben, welches Dateiformat für das Bild verwendet werden soll. Derzeit können Sie beide angeben jpg oder pjpg (progressives JPEG):

product.image | img_url: '400x400', Format: 'pjpg'

Sie können diese Technik auch für Bilder verwenden, die sich im Asset-Ordner Ihres Themes befinden. Dazu verwenden Sie die asset_img_url Filter. Hier ist ein Beispiel, das auch die img_tag Filter, der zu einem vollständig gebildeten führt img Element, das in der Vorlage gerendert wird:

logo.jpg '| asset_img_url: '300x' | img_tag

Diese neuen Bildbearbeitungsfilter und Bildeigenschaften ermöglichen es schließlich, so flexibel wie möglich zu sein, wenn es um den Umgang mit Bildern, Art Direction und um die Datenpläne der Endbenutzer geht.

2. Abschnitte

Ende 2016 führte Shopify „Sections“ ein. Mit dieser neuen Funktion können Designentwickler eine benutzerdefinierte Verwaltungsoberfläche erstellen, mit der Ladenbesitzer Inhaltsabschnitte wie Produkte, Diashows, Videos oder Produktsammlungen problemlos hinzufügen, neu anordnen und entfernen können. Dies sind häufige Anwendungsfälle, aber Sie können diese Funktionalität buchstäblich verwenden, um Geschäftsinhabern das Hinzufügen und Bearbeiten von Inhalten jeglicher Art zu ermöglichen. Alle Änderungen im Admin können in Echtzeit angezeigt werden. Sobald sie gespeichert sind, werden sie live im Store angezeigt.

Abschnitte können statisch in die Vorlagen eines Themas (wie Kopf- und Fußzeile) eingefügt werden, oder sie können über die Verwaltungsoberfläche auf der Startseite eines Themas dynamisch hinzugefügt und entfernt werden. Im obigen Beispiel, auf das wir in Kürze eingehen, können Sie sehen, wie wir einen statischen Abschnitt bearbeiten können, der in der Fußzeile des Geschäfts angezeigt wird. Sie werden auch die Schaltfläche "Abschnitt hinzufügen" bemerken, mit der wir der Startseite dynamische Bereiche hinzufügen können.

Abschnittsvorlagen befinden sich im neuen Abschnittsordner und können auf ähnliche Weise wie Snippets referenziert werden. Wenn sich unsere Datei unter section / promotion.liquid befand, würden wir sie wie folgt referenzieren:

% section "promotion"%

Hinweis: du brauchst das nicht .Flüssigkeit Erweiterung wie bei Snippets in Shopify-Themes üblich. Schauen wir uns ein Beispiel an, um die Leistungsfähigkeit von Abschnitten zu verdeutlichen. Folgendes ist der Inhalt von Abschnitte / Fußzeile.Liquid:

section.settings.title

section.settings.description

% schema% "name": "Footer Promotion", "Einstellungen": ["id": "title", "type": "text", "label": "Promotion-Titel", "default": "Title", "id": "description", "type": "richtext", "label": "Beschreibung unten einfügen", "default": "

Fügen Sie hier Ihre Beschreibung hinzu

"] % endschema% % stylesheet% % endstylesheet% % javascript% % endjavascript%

Wenn Sie mit den Shopify-Designeinstellungen vertraut sind, können einige davon ziemlich vertraut sein. Es besteht aus einer Mischung aus HTML, Liquid-Platzhaltern und JSON, ähnlich der in settings_schema.json. Übrigens die Funktionalität von settings_schema.json bleibt immer noch: Abschnitte fügen einfach eine zusätzliche Funktionalitätsebene hinzu.

Oben in der Vorlage befindet sich die HTML-Ausgabe, die generiert werden soll, wenn die Vorlage beim Rendern auf den Abschnitt trifft. In jedem der h1 und p Elemente sind flüssige Platzhalter, die die neuen verwenden section.settings. [x] Ausgabesyntax. In unseren Beispielen wird unsere Abschnittsvorlage nach entsprechenden Daten suchen section.settings.title und section.settings.description.

Bis jetzt schön und einfach, aber woher weiß Shopify, womit diese Platzhalter bevölkert werden sollen? Dies alles ist auf die JSON zurückzuführen, die ich bereits erwähnt hatte, eingebettet zwischen dem Öffnen und Schließen % schema% Stichworte.

 "name": "Footer Promotion", "Einstellungen": ["id": "title", "type": "text", "label": "Promotion-Titel", "default": "title", "id": "description", "type": "richtext", "label": "Beschreibung unten hinzufügen", "default": "

Fügen Sie hier Ihre Beschreibung hinzu

"]

Damit unser Abschnitt im Bereich "Anpassen des Designs" des Administrators des Geschäfts angezeigt wird, müssen wir ihm eine Kennung zuweisen. Dazu definieren wir den Wert "name" auf der obersten Ebene der JSON.

Als nächstes haben wir den Einstellungsknoten, der in diesem Beispiel zwei Unterknoten hat. Beide enthalten Eigenschaften von Ich würde, Art, Etikette, und Standard. Jede dieser Optionen bestimmt abhängig von ihrem Wert, wie die Verwaltungsschnittstelle dargestellt wird. Schauen wir uns die Reihe nach an:

Ich würde

Eine Zeichenfolge, die intern verwendet wird. Es ist erwähnenswert, dass die IDs in einer Abschnittsdatei eindeutig sein müssen, nicht jedoch in allen Abschnittsdateien. Als solches ist es vollkommen in Ordnung, eine zu haben Ich würde von Titel in mehreren Abschnittsdateien. Die Einstellungen der Abschnitte stehen auch nicht in Konflikt mit den Einstellungen in settings_schema.json.

Art

Dies ist das Steuerelement, das innerhalb des Administrators ausgegeben wird. Die am häufigsten verwendeten Optionen lauten wie folgt:

  • Text: Einzeilige Textfelder
  • Textbereich: Mehrzeilige Textbereiche
  • richtext: Ein Rich-Text-Editor
  • image_picker: Bild-Uploads
  • Radio: Radio Knöpfe
  • wählen: Auswahllisten
  • Kontrollkästchen: Ankreuzfelder

Einige davon erfordern zusätzliche JSON-Funktionen. Das Auswahlsteuerelement erfordert beispielsweise Optionen zum Auffüllen. Weitere Informationen zur Funktionsweise sowie zu anderen Steuerelementen, die Sie möglicherweise in Betracht ziehen, finden Sie in den Shopify-Dokumenten.

Etikette

Dies stellt das HTML-Label dar, das im Administrator über Ihrem Steuerelement generiert wird.

Standard

Mit dieser Einstellung können Sie dem Steuerelement Platzhalterwerte hinzufügen. Es ist erwähnenswert, dass dies die Werte sind, die verwendet werden, bis der Abschnitt vom Geschäftsinhaber aktualisiert wurde.

Mein Beispiel ist ziemlich einfach und wird zwei Steuerelemente erstellen. Das erste ist ein einzeiliges Textfeld, das im gerendert wird h1 Element in der Vorlage ist das zweite ein Rich-Text-Feld, das die Optionen Fett, Kursiv und URL enthält.

Es gibt viele andere Optionen, die Sie verwenden können, um den Administrator Ihres Shops zu pimpen. Dazu gehören das Hinzufügen von benutzerdefinierten Steuerelementen für URLs, Sammlungen und Produktlisten sowie benutzerdefiniertes HTML. Wir werden uns nicht alle in diesem Artikel ansehen, aber ich möchte Sie dazu ermutigen, sich mit den Möglichkeiten auseinanderzusetzen.

Sie werden auch feststellen, dass Sie den Abschnittsdateien mit den folgenden Liquid-Tags benutzerdefinierte CSS und JavaScript hinzufügen können:

% stylesheet% % endstylesheet%
% javascript% % endjavascript%

Möglicherweise denken Sie, dass dadurch möglicherweise stark aufgeblähtes Inline-CSS und JavaScript zu Ihrem Design hinzugefügt werden kann. Die gute Nachricht ist, dass Shopify alle CSS und JS in einer einzigen Datei verkettet, die über die Flüssigkeit injiziert wird content_for_header Platzhalter. Die Plattform stellt sicher, dass immer nur eine einzige Instanz enthalten ist, auch wenn dieser Abschnitt auf einer Seite mehrmals verwendet wird. Weitere Informationen zur Ausführung von Skripts finden Sie in den Shopify-Dokumenten.

Nachdem Sie Ihre Steuerelemente und Namen in der JSON-Datei eingerichtet haben, können Sie den Abschnitt in jede relevante Vorlage aufnehmen. Sie können einer Layout-Datei (der äußeren Oberfläche einer Seite) oder einer einzelnen Vorlagendatei Abschnitte hinzufügen. Der Shopify-Administrator zeigt die Steuerelemente kontextabhängig an, d. H. Nur wenn die entsprechende Vorlage im Editor "Design anpassen" angezeigt wird. Das Ändern von Werten führt zu einer Echtzeitaktualisierung im Admin. Auf diese Weise können Sie feststellen, wie sich Änderungen auf das Layout auswirken, bevor Sie die Aktualisierung durchführen und live schalten.

Wenn Sie sich den gerenderten HTML-Code ansehen, werden Sie feststellen, dass die Abschnitte in ein div Element:

Die ID des Div nimmt das Format von shopify-section- [id] , Dabei ist id eine eindeutige id für dieses Element für die Seite und fügt ohne Angabe eine Klasse hinzu Shopify-Bereich. Sie können auch eine eigene Klasse zum div-Element hinzufügen, indem Sie in Ihren Einstellungen einen Klassenwert angeben. So würde es für unser Beispiel oben aussehen:

 "id": "title", "type": "text", "class": "title", "label": "Promotion-Titel", "default": "title" 

Dieser Zusatz würde folgendes ergeben:

Sektionen sind eine großartige Ergänzung zu Shopify-Designs, da sie es Designentwicklern ermöglichen, kontextabhängige Einstellungen für einen gesamten Store zu aktivieren. Sie kommen jedoch wirklich gut zur Geltung, wenn sie mit der neuen Blockfunktionalität zusammenarbeiten.

3. Blöcke

Blöcke bauen auf dem Abschnittskonzept auf und ermöglichen es Geschäftsinhabern, der Startseite eines Geschäfts mehrere Abschnitte hinzuzufügen. Lassen Sie uns einen Blick darauf werfen, wie wir Blöcke verwenden können, um die Möglichkeit hinzuzufügen, der Homepage eine Reihe von Werbeboxen hinzuzufügen. Hier ist die Beispieldatei, mit der wir arbeiten werden:

% for block in section.blocks% % if block.type == "Promobox"% 

block.settings.title

block.settings.description

% elsif block.type == "Bildauswahl"% % endif% % endfor% % schema% "name": "Werbeblöcke", "max_blocks": 5, "Presets": ["name": "Werbeblöcke", "category": "Benutzerdefinierter Inhalt der Startseite"], "Blöcke": ["Typ": "Promo-Box", "Name": "Werbebox", "Limit": 1, "Einstellungen": ["ID": " title "," type ":" text "," label ":" title "," default ":" Ihr Titel hier ", " id ":" description "," type ":" textarea "," label " : "Beschreibung", "Standard": "Ihre Beschreibung hier"], "Typ": "Image-Picker", "Name": "Promo Image", "Einstellungen": ["id": "Promo -image "," type ":" image_picker "," label ":" Promo Image "]] % endschema% % stylesheet% % endstylesheet% % javascript% % endjavascript%

Um ehrlich zu sein, habe ich mehr als nur eine Weile gebraucht, um die Funktionsweise der Blöcke zu verstehen. Wenn Sie jedoch erst einmal verstanden haben, wie die Teile zusammenpassen, werden sich völlig neue Möglichkeiten für Ihre Themenentwicklung ergeben.

Im Wesentlichen kann die Homepage aus mehreren Abschnitten bestehen, wobei jeder Abschnitt mehrere Blöcke enthalten kann. Der Ladenbesitzer kann diese Blöcke dann neu ordnen, um ein Layout zu erstellen, das den Anforderungen am besten entspricht. Sehen wir uns an, wie sich dies vom vorherigen Beispiel unterscheidet, um einige Konzepte zu erläutern.

Zuerst werden Sie feststellen, dass es eine Flüssigkeit gibt zum Schleife am oberen Rand der Vorlage:

% for block in section.blocks% % if block.type == "Promobox"% 

block.settings.title

block.settings.description

% elsif block.type == "promo-image"% % endif% % endfor%

Da diese verschiedenen Elemente dem Ladenbesitzer ausgeliefert sind, haben wir als Entwickler keine Möglichkeit zu wissen, was wir ausgeben müssen. Wir müssen daher eine Liquid-Loop-Struktur verwenden, in diesem Fall a zum Schleife, die es uns ermöglicht, alle in einem bestimmten Abschnitt vorhandenen Blöcke der Reihe nach zu durchlaufen und die relevanten Daten auszugeben.

Im obigen Ausschnitt sehen Sie, dass ich ein einfaches benutze if / elsif  Anweisung, die den aktuellen Blocktyp prüft. Wir können den Typ im Schema selbst festlegen, wie wir in Kürze sehen werden. In diesem Beispiel verwenden wir elsif um doppelt sicher zu sein, auf welchen Typ wir prüfen. Wenn Sie nur zwei verschiedene Blocktypen hätten, wie in diesem Beispiel, könnten Sie dies einfach tun sonst Wie Sie wissen, ist es die einzige Alternative: Das sagt, es schadet nicht, defensiver zu sein.

Abhängig von unserem Typ wird ein anderer Abschnitt von HTML ausgegeben. Um den mit dem Block verknüpften Wert auszugeben, verwenden wir folgende Syntax:

block.settings. [id]

[Ich würde] steht für die ID, die diesem bestimmten Element in unserem Schema zugewiesen wurde, das wir als Nächstes behandeln werden.

Wenn Sie zu dem Schema wechseln, werden Sie einige bekannte und unbekannte Elemente bemerken. Beginnen wir mit dem ersten Teil:

"name": "Werbeblöcke", "max_blocks": 5, "Voreinstellungen": ["name": "Werbeblöcke", "category": "Benutzerdefinierter Inhalt der Homepage"]

Schauen wir uns jeden Teil der Reihe nach an:

  • "name": "Werbeblöcke": Der Name, der für diese Gruppe von Steuerelementen im Shopify-Administrator angezeigt wird
  • "max_blocks": 5: Die Gesamtzahl der Blöcke, die in diesem Abschnitt angezeigt werden können. Dies funktioniert im Einklang mit der Grenzwerteinstellung jedes Blocks, die wir später behandeln werden. Sobald die maximale Anzahl von Blöcken erreicht ist, können Sie keine weiteren Einträge mehr im Admin hinzufügen.
  • "Voreinstellungen": Ein Array von Standardeinstellungen für den dynamischen Abschnitt. Im obigen Beispiel möchten wir, dass unser dynamisches Element unter dem Titel "Werbeblöcke" und in der Kategorie "Benutzerdefinierter Inhalt der Startseite" angezeigt wird. Der Kategoriewert ermöglicht es uns, verschiedene Abschnitte in einer Gruppe im Admin zu gruppieren.

Sobald wir das definiert haben Name, max_blocks, und voreingestellte Werte können wir unsere Aufmerksamkeit auf die Steuerelemente richten, die wir im Admin anzeigen möchten. Diese sind im Blockbereich des Schemas definiert:

"Blöcke": ["Typ": "Promo-Box", "Name": "Werbebox", "Limit": 1, "Einstellungen": ["ID": "Titel", "Typ": " text "," label ":" Titel "," default ":" Ihr Titel hier ", " id ":" description "," type ":" textarea "," label ":" Description "," default " : "Ihre Beschreibung hier"], "Typ": "Promo-Image", "Name": "Promo-Image", "Einstellungen": ["id": "Promo-Image", "Typ": "image_picker", "label": "Promo Image"]]

Jeder Block hat eine Reihe von vordefinierten Werten:

  • "Art": Ein Name, der dieser bestimmten Steuerelementgruppe gegeben wird. Dies kann alles sein, was Sie wollen, im Idealfall aber selbsterklärend.
  • "Name": Der Name dieser bestimmten Gruppe von Steuerelementen, die Sie im Administrator anzeigen möchten
  • "Grenze": Die Häufigkeit, mit der diese bestimmte Gruppe von Steuerelementen (d. H. Dieser Block) im Abschnitt angezeigt werden soll. Wir werden das in Kürze noch näher betrachten.

Nachdem Sie diese Voreinstellungen definiert haben, können Sie die Steuerelemente definieren, die im Administrator angezeigt werden sollen. Diese sind in den Einstellungen definiert:

"Einstellungen": ["ID": "Titel", "Typ": "Text", "Beschriftung": "Titel", "Standard": "Ihr Titel hier", "ID": "Beschreibung", "type": "textarea", "label": "Description", "default": "Ihre Beschreibung hier"]

In unserem Beispiel haben wir zwei mögliche Blocktypen, die wir diesem Abschnitt hinzufügen können. Der erste ist der Blocktyp Promo-Box und der zweite ist der Blocktyp Promo-Bild: beides haben wir uns definiert.

Jeder Block kann auch einen eigenen Satz von Einstellungen definieren, der aus einem oder mehreren Steuerelementen bestehen kann. Im obigen Beispiel der Block vom Typ Promo-Box verfügt über zwei Steuerelemente, die beim Hinzufügen zum Abschnitt angezeigt werden. Das erste ist ein Textfeld und das zweite ist ein Textbereich. Aus irgendeinem Grund können Blöcke das nicht verwenden richtext Editor, den wir in unserem vorherigen Beispiel verwendet haben, aber a Textbereich ermöglicht es Ihnen, HTML bei Bedarf hinzuzufügen. Wie bei statischen Abschnitten müssen auch und definiert werden Ich würde, Art, Etikette, und Beschreibung.

Es gibt eine Reihe von Typen, darunter:

  • Text: Einzeilige Textfelder
  • Textbereich: Mehrzeilige Textbereiche
  • image_picker: Bild-Uploads
  • Radio: Radio Knöpfe
  • wählen: Auswahllisten
  • Kontrollkästchen: Ankreuzfelder
  • Angebot: Bereichsregler

In dem obigen Beispiel haben wir auch ein Bildsteuerelement definiert, das das Symbol verwendet image_picker Wert. Dadurch kann der Geschäftsinhaber ein Bild hochladen oder ein Bild auswählen, das bereits zum Geschäft hochgeladen wurde. Da dies einen eigenen Typ, Namen und eigene Einstellungen hat, wird die Bildauswahl als weitere Option angezeigt, die der Geschäftsinhaber diesem dynamischen Abschnitt hinzufügen kann.

Ich habe bereits erwähnt, dass die Promo-Box Block hat einen Grenzwert von 1. Sie werden sich hoffentlich auch daran erinnern, dass wir die maximale Anzahl von Blöcken in diesem Abschnitt auf 5 festgelegt haben. Daher ist es in diesem Szenario möglich, einen Abschnitt zu haben, bestehend aus:

  • 1 "Promo-Box" und 4 "Promo-Bilder"
  • 5 "Promo-Bilder"

Sobald eine der beiden Kombinationen erreicht wurde, können Sie dem Abschnitt keine weiteren Blöcke hinzufügen, es sei denn, Sie löschen einen vorhandenen Block.

Sobald Sie Ihre Vorlage und Ihr Schema sowie weitere CSS und JavaScript bereit haben, müssen Sie der index.liquid-Vorlage Ihres Themas einen letzten Code hinzufügen, um die Funktionalität des Blocks zu aktivieren. Beim Hinzufügen content_for_index zu index.liquid Shopify kennt jeden Abschnitt, für den eine oder mehrere Voreinstellungen definiert sind. Jedes Preset wird dann zu einem dynamischen Abschnitt, den ein Händler seiner Design-Startseite hinzufügen kann.

In der Abbildung unten sehen Sie das Endergebnis. Nachdem Sie in den Admin geklickt haben, können wir entweder unsere Links oder Werbeblöcke zum dynamischen Bereich hinzufügen. In diesem Fall habe ich Werbeblöcke ausgewählt und kann dann zusätzliche Blöcke hinzufügen - aber nur Promobilder, da wir in unserem Schema für den Typ "Werbebox" ein Limit von 1 festgelegt haben.

Es ist erwähnenswert, dass Sie nicht nur dynamische Blöcke innerhalb eines Abschnitts neu anordnen können, sondern auch die übergeordneten Abschnitte auf der Startseite nach Belieben neu anordnen können. Dabei ist zu beachten, dass es ein festes Limit von 25 Abschnitten gibt, die zur Startseite hinzugefügt werden können.

Statische und dynamische Abschnitte sowie die nachfolgenden Blöcke sind ein sehr leistungsfähiges Werkzeug. Ich habe eine Weile gebraucht, um die Konzepte wirklich zu verstehen, aber sobald sie angeklickt haben, werden Sie das Potenzial, das sie bieten, wirklich zu schätzen wissen.

4. Theme Kit und Slate

Eine Frage, die mich die ersten Entwickler von Shopify-Designern oft stellen, ist die Frage, wie man am besten eine Entwicklungsumgebung für die Arbeit mit der Plattform einrichten kann: Heute gibt es zwei großartige Optionen, die Sie zum Laufen bringen.

Letztes Jahr hat das Shopify Thementeam das Shopify Theme Kit veröffentlicht. Theme Kit ist ein einzelnes binäres Befehlszeilenprogramm (funktioniert unter Windows, Linux und macOS), mit dem Sie nach der Installation Folgendes tun können:

  • Laden Sie Designs in mehrere Umgebungen hoch
  • Laden Sie Design-Assets hoch und laden Sie sie herunter
  • Achten Sie auf lokale Änderungen und laden Sie sie automatisch auf die Shopify-Plattform hoch

Mit Theme Kit können Theme-Entwickler mit ihren bekannten Werkzeugen (Texteditor, Vorprozessoren usw.) arbeiten und Änderungen im Hintergrund eines Shopify-Entwicklungsspeichers synchronisieren lassen. Wenn Sie Shopify noch nicht aus der Perspektive des Themenaufbaus betrachtet haben, sind Sie möglicherweise nicht mit Entwicklungsgeschäften vertraut.

Im Wesentlichen handelt es sich dabei um voll ausgestattete Shopify-Geschäfte mit einem Unterschied: Sie können keine Zahlungen tätigen. Damit Sie jedoch den gesamten Checkout-Prozess für einen Client demonstrieren können, können Sie ein "Dummy Payment Gateway" hinzufügen. Sie können über ein kostenloses Partnerkonto beliebig viele Development Stores erstellen. Sobald Sie zum Start bereit sind, können Sie den Shop einfach zu einem kostenpflichtigen Tarif aufrüsten oder das Design für einen anderen Store bereitstellen.

Theme Kit bietet eine Reihe nützlicher Befehle, mit denen Sie während der Arbeit in einer lokalen Entwicklungsumgebung mit Designs interagieren können. Nach dem Setup können Sie die sehen Befehl, der einen Prozess zur Überwachung Ihres Verzeichnisses auf Änderungen startet und sie nach Shopify hochlädt.

Shopify kann nicht wirklich "lokal" sein (daher die Anführungszeichen), da Sie eine Internetverbindung benötigen, um mit einem Entwicklungs-Store zusammenzuarbeiten. Durch die Integration von Theme Kit in Ihren Workflow fühlen Sie sich "lokal". In Verbindung mit Tools wie Prepros können Sie außerdem das Live-Laden Ihres Entwicklungsspeichers sowie das Minimieren und Verketten von Dateien nutzen.

Im Jahr 2017 hat Shopify außerdem Slate eingeführt: ein Open Source-Design-Gerüst und Befehlszeilen-Tool zum Entwickeln von Shopify-Designs. Es soll Ihren Entwicklungsworkflow unterstützen und das Entwickeln, Testen und Bereitstellen von Designs für Shopify-Geschäfte beschleunigen.

Während ThemeKit Ihnen in einem Bereich hilft, geht Slate viel weiter. Zusätzlich zur Bereitstellung der Themensynchronisierungsfunktionen von ThemeKit (ThemeKit ist eigentlich Teil von Slate), können Sie es gleichzeitig in mehreren Umgebungen bereitstellen, Skelett-Vorlagen für ein neues Design erstellen und Stylesheets und Skripts flexibel organisieren.

Die gerahmten Schablonen von Slate sind absichtlich leer (Startseite unten): Standard-Liquid-Tags und -Logik, die wahrscheinlich für jede Vorlage verwendet werden, wurden mit wenig bis gar keinem Markup, Klassen oder anderem Code eingefügt, den Sie entfernen müssen. Es ist als voll funktionsfähiger Ausgangspunkt gedacht: Sie müssen nur die Lücken ausfüllen und Sie sind in Betrieb.

Schließlich gibt es eine Reihe von JavaScript- und Sass-Helfern, die Sie verwenden können oder nicht, wenn Sie Folgendes hinzufügen müssen:

JavaScript

  • Trap-Fokus
  • Responsive Tabellen und Videos
  • Währung formatieren
  • Bildhelfer
  • Produktvarianten
  • Cart-Helfer
  • Abschnittsveranstaltungen

CSS

  • Haltepunkte und Medienanfragen
  • Gitter
  • SVG-Symbole
  • Responsive Tabellen
  • Leere Zustände
  • Sass Mixins

5. Polaris

Im Mai 2017 hat Shopify das Erscheinungsbild aller seiner Anwendungen aktualisiert: auf dem Desktop und auf dem Handy. Um dieses ehrgeizige Ziel zu erreichen, entwickelte das UX-Team von Shopify ein neues Design-System namens Polaris. Es ist ein voll ausgestattetes System, das nicht nur für den internen Gebrauch bei Shopify vorgesehen ist, sondern auch für Shopify-Partner, die Schnittstellen für Apps erstellen, die über die Shopify-API integriert werden. Ziel ist es, jedem die Bausteine ​​zur