Neu Kategorie Listenansicht: Shop-Skript berechnet Höhe "falsch"

Belushi

Gut bekanntes Mitglied
5. September 2019
121
10
Berlin
Wir wollen im Shop (5.5.3) in den Kategorien die Möglichkeit anbieten, direkt zu Kaufen, und haben den Warenkorb-Button für die Listenansicht aktiviert.
Leider müssen wir (Grundpreise und anderes) 2-3 Zeilen zusätzlich oberhalb des Warenkorb-Bereichs einfügen, was mit der productdetails/price.tpl sowohl in der Gallerieansicht als auch auf der Produktdetailseite wunderbar funktioniert; das ist so konfiguriert, dass das Layout je nach tmplate-scope entsprechend angepasst wird.

Grundsätzlich funktioniert das auch im Listenmodus der Kategorie, ABER: Das Shop-interne Javascript berechnet fortlaufend und bei jeder Änderung des Browserfensters die Höhe des Containers .product-wrapper neu und setzt das 'hart' als style="height: xy" in das DIV ein!
Blöderweise berechnet es den Wert falsch, da unsere rechte Spalte im ChildTemplate wegen der zusätzlichen Zeilen etwas höher ist als als im Nova-Original, und das schießt uns eben spätestens beim Verkleinern des Browserfensters das Layout, weil der INHALT des Containers (.productbox) über .product_wrapper hinaussteht und in das nächste Produkt hineinragt :-/
Die Höhe der einzelnen Produkte kann und muss aus genanntem Grund übrigens nicht einheitlich sein.

Wie gewöhne ich dem Skript dieses gut gemeinte aber leider kontraproduktive Verhalten ab??
Am besten auch gleich das automatische Ersetzen des Preises, wenn man bei Staffelpreisen die Mengen ändert (das erste span, das unter .price_wrapper gefunden wird)... da soll ein ab-Preis hin bei Staffelpreisen. Dauerhaft; ein Staffelpreis-Popup ist schon vorhanden.

Wie gesagt, Produktdetailseite und Galleriensicht tun was sie sollen, nur die Listenansicht lässt sich nicht überlisten...
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.456
2.580
Berlin
Firma
css-umsetzung
Blöderweise berechnet es den Wert falsch, da unsere rechte Spalte im ChildTemplate wegen der zusätzlichen Zeilen etwas höher ist als als im Nova-Original, und das schießt uns eben spätestens beim Verkleinern des Browserfensters das Layout, weil der INHALT des Containers (.productbox) über .product_wrapper hinaussteht und in das nächste Produkt hineinragt :-/
Die Höhe der einzelnen Produkte kann und muss aus genanntem Grund übrigens nicht einheitlich sein.
Ab einer Bestimmten Breite passt der Listenmodus eh nicht mehr, dann richtet sich das eigentlich nach $isMobile, die Frage ist also ab welcher Breite du Probleme bekommst.

Ansonsten würde ich die Höhe im css, mit height:auto !important; überschreiben, dann kann der rechnen was auch immer der möchte.
Um die Preisänderung zu verhindern, wird es vermutlich das beste sein, den Preis in ein anderes html zu setzen oder die Klasse ändern, sonst machst du dir eine mögliche Variantenauswahl kaputt.
 

Belushi

Gut bekanntes Mitglied
5. September 2019
121
10
Berlin
mit height:auto !important; überschreiben, dann kann der rechnen was auch immer der möchte
Das habe ich tatsächlich schon drin, und es funktioniert auch bei der initialen Darstellung - ansonsten würde der Content schon direkt nach Seitenaufruf die Höhe von .product_wrapper überschreiten. Sobald ich das Fenster aber nur etwas verkleinere (bei einem FullHD Monitor auf ca. 1500px) kommt das Problem zurück.
Ich kann das im Inspektor des Browsers gut nachvollziehen: Manipuliere ich dort im DOM style="height: ...px" und setze statt der berechneten Zahl "auto" ein, passt das Layout perfekt. Erst im Bereich unter 1000 Pixel, wenn ein anderer Media-Query greift, sieht es wieder müllig aus. Das wäre behebbar - aber nur, wenn ich die erzwungene height loswerde. Mobil ist übrigens alles OK.

Um den Spuk ein Ende zu bereiten, müsste ich die komplette item_list.tpl kopieren, da das Div mit .product_wrapper ganz oben im Hauptblock des Templates steht. Das kann nicht der Zweck der Übung sein; zumal wir ansonsten bei Child-Anpassungen so Mikroinvasiv wie möglich vorgehen.

Ähnlich sieht es mit der price.tpl aus: Wir haben hier nur einzelne Blöcke modifiziert, um unsere zusätzlichen Infos da reinzubekommen; die optische Feinjustage erfolgt dann per Abfrage des $tplscope und CSS. Da das Shop-Skript auf .price_wrapper zugreift, stehe ich hier vor genau dem selben Problem, denn das .price_wrapper-DIV steht auch ganz am Anfang des Templates.
 

Belushi

Gut bekanntes Mitglied
5. September 2019
121
10
Berlin
(k)eine Lösung für das height-Problem:
Funktioniert, aaaber.... ist hässlich* AF :rolleyes:

JavaScript:
const isCatList = document.querySelector('body[data-page="2"] #product-list-type[value="list"]');
if (isCatList) {
    resizeListHeight();
    let resizeTimer;
    window.addEventListener('resize', function() {
        clearTimeout(resizeTimer);
        resizeTimer = setTimeout(function() {
            resizeListHeight();
        }, 250);
    }, { passive: true });
}
Der Aufruf erfolgt in einem bereits bestehenden $( document ).ready() Script.

*) hässlich bezieht sich auf den Ansatz; das sollte so nicht notwendig sein, mit dem Holzhammer zuzuschlagen. Optisch passiert genau was wir sollen.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
8.456
2.580
Berlin
Firma
css-umsetzung
Ich hätte das ja gerne mal angeschaut, weil die Höhe über eine css Anweisung fix auf auto zu setzen (mit einem !important) muss eigentlich ausreichen.
Das es ab 992px komisch wird ist klar, da erwartet JTL das isMobile gesetzt ist.

Da muss man viel fummeln mit css damit das vernünftig aussieht, wenn man eine listbox auch bei kleineren Auflösungen schön haben möchte.
 

Belushi

Gut bekanntes Mitglied
5. September 2019
121
10
Berlin
Also 992px Breite = Mobil? Eher nicht - da stell ich mir unsere Einkäufer früher vor, als sie einen Webshop und ihre Excel-Tabellen mit den Bestellungen nebeneinander am Bildschirm hatten! :D
Mittlerweile haben wir Gott sei Dank alles mindestens Dual-Monitor-Setups^^

Die Idee mit der height: auto !important hätte imho auch klappen müssen, aber sie hat wie gesagt nur bei der initialen Darstellung (neuer Seitenaufruf) funktioniert. Spätestens bei Variantenprodukten war's dann wieder vorbei. Der JS-Hack funktioniert ja, aber ich mich nervt es, dass man zu solchen Krücken greifen muss, weil das nicht einfach irgendwo konfiguriert werden kann - notfalls in irgendeiner Shop-XML. Den OPC-Editor musste ich wegen des Standardverhaltens mit den Pfaden (Links, img-src's etc.) ja auch schon hacken, weil die Kollegen irre geworden sind.

Ich hab Dir mal privat geschrieben, kannst Dir das Problemkind gerne mal anschauen.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Ein Artikel in der Kategorie Allgemeine Fragen zu JTL-Shop 5
Neu Anzeige Kategorie Pfad in der Übersicht User helfen Usern - Fragen zu JTL-Wawi 1
Neu Sortierung nach Produkt Kategorie Arbeitsabläufe in JTL-Wawi 0
Neu Kategorie Artikelanzahl -> aktive Filtermöglichkeit Allgemeine Fragen zu JTL-Shop 2
Hersteller als Filter in einer Kategorie Einrichtung JTL-Shop5 6
Import Artikel ohne Kategorie JTL-Wawi 1.11 1
Neu Nach Update auf 1.11.9 - alle Shopify Shop nicht mehr connected Shopify-Connector 4
Neu Shop 5.7 update empfhalen Installation / Updates von JTL-Shop 5
Plattformabgleich Shop löschen - Wo ist das in der MySQL DB? JTL-Wawi 2.0 4
Neu Funktioniert Shop 5.7 mit MariaDB 10.5.29? Installation / Updates von JTL-Shop 1
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 500 Upgrade JTL-Shop4 auf JTL-Shop5 3
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 404 Upgrade JTL-Shop4 auf JTL-Shop5 11
Neu JTL Shop 5 und Klarna Plugins für JTL-Shop 0
Neu JTL Shop 5.7 - Widerrufsbutton im B2B Templates für JTL-Shop 13
Neu Dropdown jtl shop länge einstellen Allgemeine Fragen zu JTL-Shop 2
JTL-Shop 5.7.0 Widerrufsbutton Einrichtung JTL-Shop5 9
Update auf Shop 5.5.0 von 5.4.1 ist der Shop nicht mehr erreichbar Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Merkmale Shop an oder Aus Allgemeine Fragen zu JTL-Shop 0
Neu JTL Shop Template Snackys Bildgrößen einstellen Templates für JTL-Shop 1
Neu JTL-Shop 5.7 - Aktuell 5.7.0 Releaseforum 0
Neu Gratisgeschenke im JTL Shop nicht wirklich nutzerfreundlich. Allgemeine Fragen zu JTL-Shop 4
Neu Probleme mit Ninepoint und TikTok Shop Schnittstellen Import / Export 6
Tabelle tfirma in der Shop-Datenbank ist leer Einrichtung JTL-Shop5 3
Geänderte Preise kommen nur teilweise in den Shop JTL-Wawi 1.11 6
Neu Eigene Artikel Felder im JTL Shop anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Hilfe bei der Entwicklung gesucht: Werde Tester für meine JTL-Shop Plugins Plugins für JTL-Shop 0
Neu JTL-Shop "Plugin-Vorlage" gesucht User helfen Usern 3
Neu JTL - Shop Adressprüfung - Erfahrungen ? Allgemeine Fragen zu JTL-Shop 2
Neu Wo ist JTL-Debug geblieben? Shopvariablen beim Shop-/Templateentwicklung sichtbar machen? Plugins für JTL-Shop 10
Neu Problem nach Update auf Shop 5.6.1 - Impressum JTL-Shop - Fehler und Bugs 2
Neu Alte Produktbilder erscheinen im JTL-Shop trotz Löschung und neuem Upload immer wieder – JTL-Wawi enthält nur neue Bilder JTL-Wawi - Fehler und Bugs 16
Shop Apotheke Bestellungen seit Update als „nicht bezahlt“ – Versand blockiert JTL-Wawi 2.0 6
Neu JTL Shop 5 Sync in JTL WAWI 2.0.0 zeigt Verbindungstest Fehlermeldung Onlineshop-Anbindung 4
Neu Rechnung im JTL Shop Kundenkonto Onlineshop-Anbindung 1
Neu Strukturierte Daten vom Typ "Produkt" werden nach Update auf JTL Shop 5.6.1 nur fehlerhaft erkannt JTL-Shop - Fehler und Bugs 3
Neu Wero für den JTL Shop? Plugins für JTL-Shop 21
Neu JTL-Shop Verkauf - Tipps? Business Jungle 5
Neu CSS GeoIP MwSt.-Finder 2.7.1 verhindert das Anlegen von Shop-Kundenkonten aus der Wawi Plugins für JTL-Shop 1
Shop 5.5.3 / Eingabefelder auf IOS zoomt immer :-( Einrichtung JTL-Shop5 6
Neu Beim Versuch Paypal-Plugin mit Paypal-Konto zu verbinden Shop nicht mehr erreichbar Plugins für JTL-Shop 2
Neu Kategoriestruktur auf JTL-Wawi in WooCommerce Shop darstellen WooCommerce-Connector 2
Neu Name der Versandart im Shop anzeigen Allgemeine Fragen zu JTL-Shop 36
Neu Shop 5.6.1: Probleme beim Entfernen von Artikeln aus dem Warenkorb JTL-Shop - Fehler und Bugs 5
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop User helfen Usern - Fragen zu JTL-Wawi 3
Neu Shop Bestellungen und Abonnements möglich? User helfen Usern - Fragen zu JTL-Wawi 1
Neu DSGVO – Automatisierte Löschung von Kundendaten nach 10 Jahren (JTL-Wawi / JTL-Shop) User helfen Usern - Fragen zu JTL-Wawi 2
Neu Rückverfolgung des Verkaufskanal bei Angeboten aus dem Shop Eigene Übersichten in der JTL-Wawi 0
Artikel Eigene Felder kommen nur beim ersten Shopabgleich in den JTL-Shop JTL-Wawi 1.11 2
Neu welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL Allgemeine Fragen zu JTL-Shop 0
welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL JTL-Wawi 1.11 0

Ähnliche Themen