Listing-Ansicht Preis und Detail-Button unterschiedliche Position

Hallo zusammen,

mir ist aufgefallen, das im Listing (Layout-Typ „Standard“) der Preis und der Details-Button teilweise in unterschiedlicher Position angezeigt werden, siehe Bild:

Der Abstand zwischen Details-Button und Preis selbst scheint für mich gleich. Bei kurzen Produktnamen und/oder wenig Kurzbeschreibung (ich lasse die Meta-Description unter dem Produktnamen ausgeben, anstatt des gekürzten Langtext) ist beides weiter oben als bei Produkten mit langem Namen oder einer längeren Kurzbeschreibung.

Hat jemand eine Idee, wie ich den Preis und Detail-Button unten fixieren kann (CSS?), so wie im Bild die dritte Reihe? Die eigentliche Produktbox ist ja immer gleich hoch.

Das sollte im Shopware Standard so nicht möglich sein. Hast du ein individuelles Theme im Einsatz?

Viele Grüße

Ich habe ein eigenes Theme abgeleitet vom Shopware-Standard-Theme, wie es in der Beschreibung angegeben ist. Als einzige Änderung in diesem Bereich habe ich eigentlich nur, das die Artikelnamen nicht gekürzt werden (wenn ich das rausnahme, ändert sich aber nichts) und das die Meta-Description anstatt des gekürzten Langtexts angezeigt wird.

Na dann hast du ja deine Antwort? Die Namen werden bewusst abgeschnitten, damit die Namen eine vordefinierte Höhe nicht überschreiten und damit nachfolgende Elemente auf gleicher Höhe bleiben. Wenn die Namen alle unterschiedlich hoch sind, dann verschieben sich auch alle folgenden Elemente.

Viele Grüße

Aber er schreibt, das die Rücknahme der Änderung nichts daran ändert…

Wenn ich das richtig verstanden habe, dann würde sein Theme danach ja exakt dem Shopware Standard Theme entsprechen - und da gibt es diesen Fehler nicht. Also sollte der Fehler eigentlich relativ leicht zu ermitteln sein.

Viele Grüße

Ok, ich habe mir alles mal angesehen und Schritt für Schritt meine Änderungen ausgeschalten.

Mein Problem hat sowohl der Produktname, der nicht gekürzt wird, wie auch die Meta-Description als Kurzbeschreibung verursacht.

Für den Produktnamen hatte ich es ursprünglich so via css gelöst:

.product-name{
  -webkit-box-orient: initial;
  overflow: initial;
  text-overflow: initial;
  height: auto;
}

height:auto verursacht das Problem, da es, je nach länge des Produktnamens, die nachfolgenden Elemente unterschiedlich hoch anordnet. Ich habe es jetzt so umgesetzt, mit fester Höhe:

.product-name {
  display: flex;
  font-size: 1.3em;
  line-height: 1.2em;
  height: 3.9em;
}

Damit können bei mir 3 Zeilen Produktname ungekürzt angezeigt werden ohne Höhenunterschied bei den nachfolgenden Elementen.

Bei der Meta-Description hatte ich diese ja über Twig anstatt der gekürzten Langbeschreibung im Listing ausgeben lassen:

{% sw_extends '@Storefront/storefront/component/product/card/box-standard.html.twig' %}
{% block component_product_box_description %}
<div class="product-metaDescription">
{{ product.translated.metaDescription|striptags|raw }}
</div>
{% endblock %}

Der Bug hier war, das es zwar eine css für .product-Description (SW-Standard) gibt, aber nicht für .product-metaDescription, wie ich es umgesetzt hatte.

Also habe ich folgende css für die .product-metaDescription angelegt:

.product-metaDescription {
    display: flex;
    height: 10.5em;
    margin-top: 0.7em;
    font-size: 1em;
    line-height: 1.3em;
    overflow: auto;
}

Auch das funktioniert für mich, bei mir wird der komplette Text der Meta-Description als Kurzbeschreibung angezeigt und die darauffolgenden Elemente richtig angeordnet.

Verbesserungsvorschläge natürlich immer gerne willkommen!

… und jetzt noch eine Frage - kann mir jemand sagen, was in dem Leerraum unterhalb von Produktnamen („.product-variant-characteristics .product-variant-characteristics-text“) genau angezeigt werden soll? Bei meinen Produkten steht da nichts.

Frei nach dem Motto „Ist das Kunst, oder kann das weg?“ frage ich mich, ob dieser Leerraum unterhalb vom Namen wirklich sein muss?

Ja, der Freiraum muss im Standard wirklich sein. Dieser Platz ist für Eigenschaften von Varianten (z.B. Farbe: Rot, Größe: XL etc.) reserviert.

Viele Grüße