Untergruppe von Kategorien auf einer Seite aufzeigen
Du kannst eine Untergruppe von Kategorien auf einer benutzerdefinierten Seite anzeigen, indem du deinen Theme-Code bearbeitest. In diesem Tutorial wird erläutert, wie du eine neue Seitenvorlage erstellen kannst und wie du durch die Verwendung eines Menüs zuweisen kannst, welche Kategorien angezeigt werden.
Alle Shopify-Shops verfügen über eine Listenseite für Kategorien unter der URL www.mystore.com/collections
, auf der alle Kategorien des Shops angezeigt werden. Alternativ zu den Schritten in diesem Tutorial kannst du deine Listenseite für Kategorien bearbeiten, sodass nur eine Auswahl der Kategorien angezeigt wird.
Neue Seitenvorlage erstellen
- Gehe in deinem Shopify-Adminbereich auf Onlineshop > Themes.
- Suche das Theme, das du bearbeiten möchtest, und klicke dann auf Aktionen > Code bearbeiten.
Klicke im Verzeichnis Vorlagen auf Neue Vorlage hinzufügen.
Erstelle eine neue Vorlage für die Seite namens list-collections.
- Lösche den vorhandenen Code in der neuen
page.list-collections
-Datei. Suche weiter unten nach deinem Theme-Code, kopiere den Code und füge ihn in die Dateipage.list-collections
ein. - Klicke auf Speichern.
Wähle dein Theme
Der Code für diese Anpassung variiert je nach Theme. Klicke auf die Schaltfläche für dein Theme, bevor du den Code kopierst und in die Datei page.list-collections
einfügst:
Code für Boundless
- Kopiere den Code.
{% comment %}
Featuring collections on a page using a menu
https://shopify-dev.com/tutorials/feature-a-subset-of-collections-on-a-page
{% endcomment %}
{%- assign grid_item_width = 'small--one-half medium--one-third large-up--one-quarter' -%}
{%- case linklists[page.handle].links.size -%}
{%- when 2 -%}
{%- assign grid_item_width = 'medium-up--one-half' -%}
{%- when 3 -%}
{%- assign grid_item_width = 'small--one-half medium-up--one-third' %}
{%- else -%}
{%- assign grid_item_width = 'small--one-half medium--one-third large-up--one-quarter' %}
{%- endcase -%}
<div class="page-width page-container">
<header>
<h1>{{ page.title }}</h1>
</header>
<div class="rte rte--indented-images">
{{ page.content }}
</div>
<div class="grid grid--no-gutters collection-grid">
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign featured = link.object.handle -%}
{%- include 'collection-grid-item', collection: collections[featured] -%}
{%- endif -%}
{%- endfor -%}
</div>
</div>
- Füge den Code in die Datei
page.list-collections
ein.
Code für Brooklyn
- Kopiere den Code.
{% comment %}
Featuring collections on a page using a menu
https://shopify-dev.com/tutorials/feature-a-subset-of-collections-on-a-page
{% endcomment %}
{%- assign collection_count = 0 -%}
{%- assign isEmpty = true -%}
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign collection_count = collection_count | plus: 1 -%}
{%- endif -%}
{%- endfor -%}
{%- assign collection_index = 0 -%}
{%- assign divisible_by_three = collection_count | modulo: 3 -%}
{%- assign divisible_by_two = collection_count | modulo: 2 -%}
<div class="grid">
<div class="grid__item large--five-sixths push--large--one-twelfth">
<header class="section-header text-center">
<h1>{{ page.title }}</h1>
<hr class="hr--small">
</header>
<div class="grid">
<div class="grid__item large--four-fifths push--large--one-tenth">
<div class="rte rte--nomargin rte--indented-images">
{{ page.content }}
</div>
</div>
</div>
</div>
</div>
<div class="grid collection-grid">
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign collection = collections[link.object.handle] -%}
{%- assign collection_index = collection_index | plus: 1 -%}
{%- assign collection_handle = collection.handle -%}
{% include 'collection-grid-collage' %}
{%- endif -%}
{%- endfor -%}
</div>
- Füge den Code in die Datei
page.list-collections
ein.
Code für Debut
- Kopiere den Code.
{% comment %}
Featuring collections on a page using a menu
https://shopify-dev.com/tutorials/feature-a-subset-of-collections-on-a-page
{% endcomment %}
<div class="page-width">
<div class="grid">
<div class="grid__item medium-up--five-sixths medium-up--push-one-twelfth">
<div class="section-header text-center">
<h1>{{ page.title }}</h1>
</div>
<div class="rte">
{{ page.content }}
</div>
</div>
</div>
<ul class="grid grid--uniform">
{%- assign grid_item_width = 'small--one-half medium-up--one-third' -%}
{%- assign image_size = '350x' -%}
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign collection = collections[link.object.handle] -%}
<li class="grid__item {{ grid_item_width }}">
{% include 'collection-grid-item', collection_image_size: image_size %}
</li>
{%- endif -%}
{%- endfor -%}
</ul>
</div>
- Füge den Code in die Datei
page.list-collections
ein.
Code für Minimal
- Kopiere den Code.
{% comment %}
Featuring collections on a page using a menu
https://shopify-dev.com/tutorials/feature-a-subset-of-collections-on-a-page
{% endcomment %}
<div class="grid">
<div class="grid__item post-large--two-thirds push--post-large--one-sixth">
<div class="section-header">
<h1 class="section-header--title">{{ page.title }}</h1>
</div>
<div class="rte">
{{ page.content }}
</div>
</div>
</div>
{%- assign collection_item_width = 'medium-down--one-half post-large--one-third' -%}
{%- assign collection_width = 410 -%}
<div class="grid-uniform">
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign featured = link.object.handle -%}
<div class="grid__item {{collection_item_width}} text-center">
{% include 'collection-grid-item' with collection_width: collection_width %}
</div>
{%- endif -%}
{%- endfor -%}
</div>
- Füge den Code in die Datei
page.list-collections
ein.
Code für Narrative
- Kopiere den Code.
{% comment %}
Featuring collections on a page using a menu
https://shopify-dev.com/tutorials/feature-a-subset-of-collections-on-a-page
{% endcomment %}
<div class="page-width">
<header class="section-header text-center">
<h1 class="section-header__title h2">{{ page.title }}</h1>
</header>
<div class="grid">
<div class="grid__item medium-up--four-fifths medium-up--push-one-tenth">
<div class="rte">
{{ page.content }}
</div>
</div>
</div>
<div class="list-collections-template" data-section-id="list-collections-template" data-section-type="list-collections-template">
{%- assign desktopColumns = '3' -%}
{%- assign mobileColumns = '1' -%}
{%- capture gridClasses -%}
{% if desktopColumns == '3' %}medium-up--one-third {% else %}medium-up--one-half {% endif %}
{% if mobileColumns == '2' %}small--one-half {% endif %}
{%- endcapture -%}
{% comment %}
For Collage style replace grid_style = 'grid' with grid_style = 'collage' below
{% endcomment %}
{%- assign grid_style = 'grid' -%}
<div class="card-list grid" data-desktop-columns="{{ desktopColumns }}" data-mobile-columns="{{ mobileColumns }}" data-grid-style="{{ grid_style }}">
<div class="card-list__column grid grid__item {{ gridClasses }}">
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign collection = collections[link.object.handle] -%}
{% include 'collection-card', collection: collection, width: desktopColumns, grid_style: grid_style %}
{%- endif -%}
{%- endfor -%}
</div>
</div>
</div>
</div>
- Füge den Code in die Datei
page.list-collections
ein.
Code für Simple
- Kopiere den Code.
{% comment %}
Featuring collections on a page using a menu
https://shopify-dev.com/tutorials/feature-a-subset-of-collections-on-a-page
{% endcomment %}
<h1 class="small--text-center">{{ page.title }}</h1>
<div class="rte">
{{ page.content }}
</div>
{%- assign grid_item_width = 'small--one-half medium-up--one-third' -%}
<div class="grid grid--uniform">
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{% assign collection = collections[link.object.handle] %}
<div class="grid__item {{ grid_item_width }}">
{% include 'collection-grid-item' %}
</div>
{%- endif -%}
{%- endfor -%}
</div>
- Füge den Code in die Datei
page.list-collections
ein.
Code für Venture
- Kopiere den Code.
{% comment %}
Featuring collections on a page using a menu
https://shopify-dev.com/tutorials/feature-a-subset-of-collections-on-a-page
{% endcomment %}
<div class="page-width">
<h1 class="small--text-center">{{ page.title }}</h1>
<div class="content-block">
<div class="rte rte--indented-images">
{{ page.content }}
</div>
</div>
{%- assign collection_count = 0 -%}
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign collection_count = collection_count | plus: 1 -%}
{%- endif -%}
{%- endfor -%}
{% assign number_rows = 1 %}
{% case collection_count %}
{% when 1 %}
{% assign grid_item_width = 'medium-up--one-half' %}
{% assign height = 450 %}
{% when 2 %}
{% assign grid_item_width = 'medium-up--one-half' %}
{% assign height = 450 %}
{% when 3 %}
{% assign grid_item_width = 'medium-up--one-third' %}
{% assign height = 330 %}
{% when 4 %}
{% assign grid_item_width = 'medium-up--one-quarter' %}
{% assign height = 235 %}
{% else %}
{% assign grid_item_width = 'medium-up--one-third' %}
{% assign height = 330 %}
{% assign number_rows = collection_count | divided_by: 3.0 | ceil %}
{% endcase %}
<div class="grid grid--no-gutters grid--uniform collection" data-number-rows="{{ number_rows }}">
{% assign row_number = 1 %}
{%- for link in linklists[page.handle].links -%}
{%- if link.type == 'collection_link' -%}
{%- assign featured_collection = collections[link.object.handle] -%}
{% if collection_count > 4 and forloop.index > 3 %}
{% assign row_number = forloop.index | divided_by: 3.0 | ceil %}
{% endif %}
{% include 'collection-grid-item' with stretch_collection_image: false, height: height %}
{%- endif -%}
{%- endfor -%}
</div>
</div>
- Füge den Code in die Datei
page.list-collections
ein.
Erstelle eine Seite, auf der deine Kategorien vorgestellt werden
- Gehe in deinem Shopify-Adminbereich zu Onlineshop > Seiten.
- Klicke auf Seite hinzufügen.
- Gib im Seiten-Editor einen Titel in das bereitgestellte Textfeld ein. Du musst den gleichen Titel für das Menü verwenden, das du in den nachfolgenden Schritten erstellst.
Weise deine neue Vorlage der Seite zu, indem du Listen-Kategorien im Dropdown-Menü der Theme-Vorlage im Abschnitt Onlineshop auswählst.
Klicke auf Speichern.
Menü erstellen, das steuert, welche Kategorien angezeigt werden
- Gehe in deinem Shopify-Adminbereich zu Onlineshop > Navigation.
- Klicke auf die Schaltfläche Menü hinzufügen.
- Gib dem Menü den gleichen Titel wie der Seite, auf der deine Kategorien angezeigt werden. Wenn die Seite, die du erstellt hast, beispielsweise den Titel
Living Room
hat, gib deinem Menü den TitelLiving Room
. - Füge Links für jede Kategorie, die angezeigt werden soll, zu deinem Menü hinzu, indem du auf Menüpunkt hinzufügen klickst. Wähle Kategorien aus deinem Shop aus, indem du im Dropdown-Menü für das Textfeld Link auf Kategorien klickst. Verlinke deine Kategorien auf diese Weise, anstatt eine URL zum Textfeld hinzuzufügen.
- Klicke auf Menü speichern.