Skip to main content
Der Cart items-Block ist die Liste der Positionen im Cart. Er rendert jedes vom Kunden hinzugefügte Produkt mit Bild, Titel, Variante, Preis, Mengenwähler und Entfernen-Steuerung. Er ist ein Pflichtblock und der Container, der die Unterblöcke des Carts beherbergt (die Product-Zeile, Subscription upgrade und Custom code). Er bietet die Struktur, an der sich zeilenbasierte Unterblöcke anheften.
Cart items-Block mit Positionen samt Produktbild, Titel, Variante, Preis, Mengenwähler und Entfernen-Steuerung

Die Product-Zeile

Innerhalb von Cart items sitzt der Product-Unterblock: die eigentliche Positionszeile. Sie ist gesperrt und wird automatisch hinzugefügt, sodass jeder Cart items-Block immer genau eine Product-Zeile hat, die du nicht entfernen kannst; andere Unterblöcke positionierst du um sie herum. Ihre Einstellungen steuern, wie die Preise jeder Zeile angezeigt werden: Die Zeile selbst rendert das Produktbild (mit Link zur Produktseite, sofern verfügbar), Titel, Variante, Preis und einen eventuell durchgestrichenen Compare-at-Preis, einen Mengenwähler und eine Entfernen-Schaltfläche. Bundle-Zeilen zeigen eine ausklappbare Liste ihrer Komponenten.

Textgestaltung

Die Product-Zeile enthält in ihren Design-Einstellungen einen Abschnitt Text. Damit steuerst du die Typografie einzelner Textelemente in jeder Position. Wähle ein Textelement im Picker aus, um seine Einstellungen anzupassen: Die gestaltbaren Textelemente sind nach Kategorie gruppiert: Product
  • Product title — der Produktname in jeder Zeile. Unterstützt außerdem eine benutzerdefinierte Schriftfamilie.
  • Variant — die Variantenbezeichnung (zum Beispiel Size: Medium).
  • Subscription plan — die schreibgeschützte Plan-Bezeichnung auf Abonnementzeilen.
Pricing
  • Price — der aktuelle Preis der Zeile.
  • Compare-at price — der durchgestrichene ursprüngliche Preis.
  • Savings — die Ersparnis-Beschriftung (zum Beispiel Save $5.00). Nur Größe und Zeilenhöhe — Fettschrift und Farbe werden im Rich Text Editor oberhalb festgelegt.
Bundle
  • Bundle toggle — der ausklappbare Header, der die Komponentenliste eines Bundles öffnet.
  • Bundle item title — der Titel jeder Komponente innerhalb eines Bundles.
  • Bundle item variant — die Variantenbezeichnung für jede Bundle-Komponente.
Wenn du ein Feld leer lässt, behält das Element seinen Standardwert.
Klickst du ein Textelement direkt in der Cart-Vorschau an, wird es hervorgehoben und seine Steuerungen öffnen sich automatisch im Panel.

Design der Rabatt-Tags

Die Product-Zeile enthält in ihren Design-Einstellungen einen Abschnitt Discount tags. Damit gestaltest du die Rabatt-Tag-Pills, die bei jeder Position erscheinen: Diese Einstellungen gelten nur für Positions-Rabatt-Tags im Cart items-Block. Rabattcode-Tags im Summary-Block werden separat gestaltet.

Unterblöcke und ihre Positionierung

Cart items ist der einzige Block, der Unterblöcke beherbergt. Unterblöcke werden einmal pro Zeile gerendert, innerhalb jeder Produktzeile, positioniert relativ zur fixierten Product-Zeile:
  • Unterblöcke, die vor der Product-Zeile angeordnet sind, erscheinen in jeder Zeile über dem Produktinhalt.
  • Unterblöcke, die nach der Product-Zeile angeordnet sind, erscheinen in jeder Zeile unter dem Produktinhalt.
Ein Subscription upgrade, das nach der Product-Zeile platziert ist, erscheint also unter jeder infrage kommenden Zeile — nicht einmal am Ende der gesamten Liste.

Verhalten

  • Wenn der Cart keine Artikel enthält, wechselt der Drawer in den leeren Zustand und dieser Block wird nicht angezeigt.
  • Es läuft immer nur eine Cart-Änderung gleichzeitig. Während eine Mengenänderung oder Entfernung läuft, sind die Steuerelemente der Zeile deaktiviert, um den Cart konsistent zu halten, und werden wieder aktiviert, sobald die Änderung abgeschlossen ist.
  • Das Absenken der Menge einer Zeile unter 1 entfernt sie. Eine Menge, die der Store ablehnt (zum Beispiel über den verfügbaren Bestand hinaus), wird auf den letzten gültigen Wert zurückgesetzt.
  • Bundles ändern sich als Einheit. Das Anpassen der Menge auf der Ankerzeile eines Bundles skaliert das gesamte Bundle in einem Vorgang — wenn ein Kind mit 3 pro Anker enthalten ist, bringt eine Erhöhung des Ankers von 1 auf 2 dieses Kind auf 6. Das Entfernen des Ankers entfernt alle Bundle-Mitglieder auf einmal.
  • Manche Bundles lassen sich nicht in der Menge ändern. Wenn eines der Kinder eines Bundles mit einer gebrochenen Rate enthalten ist (zum Beispiel 1,5 pro Anker), ist der Mengenwähler dieses Bundles gesperrt: Die +/−-Schaltflächen und das Mengenfeld sind beide deaktiviert, und eingetippte Mengen werden nicht akzeptiert. Das Bundle kann weiterhin entfernt werden.
  • Abonnementzeilen zeigen ihren Plan. Wenn eine Zeile einen Selling Plan hat und der Unterblock Subscription upgrade deaktiviert oder nicht hinzugefügt ist, zeigt die Product-Zeile eine schreibgeschützte Plan-Beschriftung unter der Variante — zum Beispiel Delivers every month (save 30%). Wenn dieser Unterblock aktiviert ist, präsentiert er den Plan in seiner eigenen Auswahl, sodass die schreibgeschützte Beschriftung unterdrückt statt dupliziert wird.

Platzierung und Grenzen

  • Bereich: Body.
  • Maximum: 1 pro Cart-Zustand.
  • Zustand: nur gefüllter Cart.
  • Gesperrt und standardmäßig hinzugefügt. Cart items kann nicht entfernt oder ausgeblendet, nur neu positioniert werden.

Benutzerdefiniertes Template

Unterstützt ein benutzerdefiniertes Template über seinen Code-Tab, das das integrierte Markup dieses Blocks durch dein JSX ersetzt. Dies sind die Props, die es erhält. Der Cart items-Container hat kein benutzerdefiniertes Template. Die Product-Zeile darin schon, und sie ist die umfangreichste Oberfläche im Cart: Dein Template wird einmal pro Zeile gerendert.

Zeileninhalt

price und compareAtPrice sind formatierte Strings; alles auf line ist in Cent. Rechne nicht mit price. Berechne mit line.finalLinePrice und Co. und schicke das Ergebnis dann durch formatMoney.

Menge und Entfernen

Ein Bundle rendern

Auf der Ankerzeile eines Bundles enthält bundle.children dessen Inhalte. Kinder erscheinen nie als eigene Zeilen — wenn du sie nicht renderst, sieht der Kunde also nicht, was im Bundle ist:
Der key eines Kindes ist bei einer nativen Shopify-Bundle-Komponente null, greife also wie oben auf den Index zurück.

Design

Gestalte diesen Block über seinen Abschnitt Design im Einstellungspanel. Dies sind Überschreibungen pro Block, die auf deinem globalen Design aufsetzen und darauf zurückfallen, wenn sie leer sind. Was sind Design-Einstellungen? Mehr erfährst du hier: Design-Einstellungen.