FROM CACHE - de_header
Diese Community hat auf Peer-to-Peer-Support umgestellt. Der Shopify Support wird diese Community nicht mehr betreuen. Wir empfehlen dir, dich mit anderen Händler:innen und Partner:innen in Verbindung zu setzen, um Unterstützung zu erhalten und Erfahrungen auszutauschen. Bitte melde weiterhin alles, was gegen unseren Verhaltenskodex verstößt, oder Inhalte, die deiner Meinung nach entfernt werden sollten.

Kategorie Bubbles mit Metaobjekten erstellen

Gelöst

Kategorie Bubbles mit Metaobjekten erstellen

Jakob_blm
Besucher
2 0 0

Hallo zusammen,

 

ich würde in meinen Kategorien gerne Kategoriebubbles zu ähnlichen Kategorien einfügen. Dies würde ich gerne mit Metafelder & -objekten umsetzen um nicht so viele Kategorievorlagen erstellen zu müssen.

 

Ich habe ein Metaobjekt erstellt und dieses mit den Einträgen der ähnlichen Kategorien befüllt. Anschließend habe ich ein Metafeld für Kategorien erstellt und zu den entsprechenden Kategorien hinzugefügt. 

Allerdings kann ich das Metafeld in meiner Kategorie jetzt immer nur mit einem Eintrag aus dem Metaobjekt befüllen. Das reicht aber meist nicht da es i.d.r 2-3 weiterführende Kategorien gibt.

 

Ich habe schon öfter gelesen das Kategoriebubbles ein klassicher Anwendungsfall für die Metaobjekte sind. Daher frage ich mich ob ich hier einen Denkfehler in meiner Umsetzung habe?

 

Ich freue mich über eure Rückmeldung!

1 AKZEPTIERTE LÖSUNG

Ben310
Weltenbummler
632 93 147

Erfolg.

Hey @Jakob_blm 

 

Dein Denkfehler könnte darin bestehen, dass das Metafeld nur eine einzige Referenz zulässt. Du musst es so konfigurieren dass es mehrere Einträge erlaubt. Überprüfe, ob das Feld in den Metafeldern als Mehrfachauswahl definiert ist und die verknüpften Metaobjekte die richtigen Referenzen enthalten. Dadurch sollten mehrere Metaobjekte in einem einzigen Metafeld gespeichert und in Liquid diese dann durch Iteration angezeigt werden v.a. wenn man mehrere verwandte Kategorien anzeigen möchte, ohne separate Felder für jede Kategorie zu erstellen.

 

Bzgl. dem Zugriff auf die Metaobjekte in Liquid, darauf achten, dass das richtige Metaobjekt-Handle und die Metafeldstruktur referenziert werden. Einige Community-User haben gemeldet, dass sie die Metaobjekte über product.metafields.custom.[metafeld_name].value ansprachen und dann durch die enthaltenen Objekte iterierten​ (Shopify Community). Oder die direkte Referenzierung und Abfrage der Metaobjekte durch die for-Schleife erreichen.

 

Oder eben, wenn eine Pagination oder Filterung benötigt wird und Shopify die Begrenzung von 50 Einträgen pro Abfrage hat, was das Filtern erschwert. Hier empfehlen Community User eine Kombi aus Liquid-Code und JavaScript, um Metaobjekte zu filtern und paginierte Ergebnisse zu erhalten. Oder eben separate Seiten für verschiedene Filterkategorien erstellen, was jedoch mit höherem Pflegeaufwand verbunden ist​ (Shopify Community).

 

Oder eben Metaobjekte als „Datenbank“ nutzten, um strukturierte Inhalte wie FAQs, Lieferantenprofile, oder Kategoriebubbles zu speichern. Einige Nutzer haben sie für dynamische Seitenelemente (wie Bubbles) genutzt, indem sie Metaobjekte mit spezifischen Feldern (z.B. Titel, Bild, URL) erstellten und diese dann in den Vorlagen referenzierten was eine einfache Pflege und Erweiterung von Inhalten direkt über die Shopify-Oberfläche​ ermöglicht (Shopify Community).

 

Hier der Code dafür aus den Threads genommen:

 

{% if collection.metafields.custom.ähnliche_kategorien != blank %}
  <div class="category-bubbles">
    {% for kategorie in collection.metafields.custom.ähnliche_kategorien.value %}
      <div class="category-bubble">
        <a href="{{ kategorie.url }}">
          <img src="{{ kategorie.image }}" alt="{{ kategorie.title }}">
          <span>{{ kategorie.title }}</span>
        </a>
      </div>
    {% endfor %}
  </div>
{% endif %}

 

Lösung in ursprünglichem Beitrag anzeigen

3 ANTWORTEN 3

Ben310
Weltenbummler
632 93 147

Erfolg.

Hey @Jakob_blm 

 

Dein Denkfehler könnte darin bestehen, dass das Metafeld nur eine einzige Referenz zulässt. Du musst es so konfigurieren dass es mehrere Einträge erlaubt. Überprüfe, ob das Feld in den Metafeldern als Mehrfachauswahl definiert ist und die verknüpften Metaobjekte die richtigen Referenzen enthalten. Dadurch sollten mehrere Metaobjekte in einem einzigen Metafeld gespeichert und in Liquid diese dann durch Iteration angezeigt werden v.a. wenn man mehrere verwandte Kategorien anzeigen möchte, ohne separate Felder für jede Kategorie zu erstellen.

 

Bzgl. dem Zugriff auf die Metaobjekte in Liquid, darauf achten, dass das richtige Metaobjekt-Handle und die Metafeldstruktur referenziert werden. Einige Community-User haben gemeldet, dass sie die Metaobjekte über product.metafields.custom.[metafeld_name].value ansprachen und dann durch die enthaltenen Objekte iterierten​ (Shopify Community). Oder die direkte Referenzierung und Abfrage der Metaobjekte durch die for-Schleife erreichen.

 

Oder eben, wenn eine Pagination oder Filterung benötigt wird und Shopify die Begrenzung von 50 Einträgen pro Abfrage hat, was das Filtern erschwert. Hier empfehlen Community User eine Kombi aus Liquid-Code und JavaScript, um Metaobjekte zu filtern und paginierte Ergebnisse zu erhalten. Oder eben separate Seiten für verschiedene Filterkategorien erstellen, was jedoch mit höherem Pflegeaufwand verbunden ist​ (Shopify Community).

 

Oder eben Metaobjekte als „Datenbank“ nutzten, um strukturierte Inhalte wie FAQs, Lieferantenprofile, oder Kategoriebubbles zu speichern. Einige Nutzer haben sie für dynamische Seitenelemente (wie Bubbles) genutzt, indem sie Metaobjekte mit spezifischen Feldern (z.B. Titel, Bild, URL) erstellten und diese dann in den Vorlagen referenzierten was eine einfache Pflege und Erweiterung von Inhalten direkt über die Shopify-Oberfläche​ ermöglicht (Shopify Community).

 

Hier der Code dafür aus den Threads genommen:

 

{% if collection.metafields.custom.ähnliche_kategorien != blank %}
  <div class="category-bubbles">
    {% for kategorie in collection.metafields.custom.ähnliche_kategorien.value %}
      <div class="category-bubble">
        <a href="{{ kategorie.url }}">
          <img src="{{ kategorie.image }}" alt="{{ kategorie.title }}">
          <span>{{ kategorie.title }}</span>
        </a>
      </div>
    {% endfor %}
  </div>
{% endif %}

 

Jakob_blm
Besucher
2 0 0

Hey Ben,

 

danke dir für die ausführliche Antwort!

Tatsächlich lag es nur daran das ich das Metafeld in dem die Metaobjekte gespeichert werden sollen falsch konfiguriert hatte.

 

Jetzt funktioniert es wie gewünscht 🙂

 

Viele Grüße

Jakob

 

Ben310
Weltenbummler
632 93 147

giphy