Neu Nova - Größe der Slides / Anzahl der Artikel bei Cross Selling Slider anpassen

alexled

Neues Mitglied
31. Oktober 2023
2
0
Hallo zusammen,

wir würden bei den Produktslidern wie Besteller, Neuheiten, Cross Selling usw. gerne die einzelnen Slides größer darstellen. Aktuell sind die für unseren Zweck zu klein da auch die Artikelnamen arg beschnitten werden.

Danke im Voraus für eure Unterstützung!

LG Alex
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.705
2.732
Berlin
Firma
css-umsetzung
Da hilft derzeit nur eine größere Anpassung über das Child Template wenn man das vernünftig haben möchte.

Ich sorge z.B.: dafür, dass die Initialisierung der Slider durch JTL verhindert wird und initialisiere diesen dann über meine eigene Konfiguration.
 
  • Gefällt mir
Reaktionen: alexled

pctech

Gut bekanntes Mitglied
14. Juli 2009
115
12
Hallo Forum & Support
Nun, habe das selbe problem, arbeite mit Nova Cild für 5.2.4

Via CSS konnte ich nichts erreichen, da das DIV Class .slick-track die width: 264px Angabe irgendwie (über NOVA\js\slick.js Zeile 523 oder NOVA\js\slick.min.js??)
dynamisch generiert wird.
So wird dann eine CSS Regel zu DIV slick-track auch nicht angewendet und immer wieder vom Element selber überschrieben mit 264px

Leider wird auch DIV Class .product-wrapper.product-wrapper-product.text-center-util.slick-slide.slick-current.slick-active irgendiwe automatisch berechnet im Objekt, so dass eine CSS Regel darauf nicht einwirkt. Wird auch immer wieder vom Element selber mit 132px überschrieben

Das selbe auch beim class .product-wrapper.product-wrapper-product.text-center-util.slick-slide.slick-active und div.product-wrapper:nth-child

Das Bild selber konnte ich via CSS auf DIV Class .item-slider.productbox-image.square.square-image vergrössern, da jedoch die Obengenannten Container dann zu klein ist wird es abgeschnitten.

Generell sind da viele Dinge eingebunden in dem Carousell Slider.
Habe natürlich NOVA mal durchsucht, zum Beispiel nach slick-track
NOVA\themes\base\sass\components\_carousel.scss = Keine Angabe zu der Breite
NOVA\themes\base\slick\slick.scss = Keine Angabe zu der Breite

Um zu verstehen wie die Template dateien zusammenarbeiten habe ich nach der DIV Class recommendations d-print-none gesucht ob da was ist.
NOVA\productdetails\details.tpl = Keine Angabe zu der Breite jedoch wird da dann NOVA\snippets/product_slider.tpl aufgerufen (in Zeile 376)
In NOVA\snippets/product_slider.tpl wird dann zu DIV Class .slick-slider-other is-not-opc x-sell (ab Zeile 34) dann in Zeile 56 die NOVA\snippets/slider_items.tpl aufgerufen.
In NOVA\snippets/slider_items.tpl ab Zeile 5 zu DIV Class product-wrapper product-wrapper-product text-center-util wird dann in Zeile 6 NOVA\productlist/item_slider.tpl aufgerufen
NOVA\productlist/item_slider.tpl wird dann in dem DIV Class div class="item-slider productbox-image square square-image (ab Zeile 4) in Zeile 19 NOVA\snippets/image.tpl aufgerufen.
Okay, nirgends eine Angabe zu der Breite zu finden.

In der NOVA\snippets/image.tpl ist zwar im aufruf der image.tpl Zeile 20-23 was zu den zu ladenden Bilderegrössen, jedoch brachte das auch keine Änderung.

Nun, existiert da ein Plugin welcher dies grösser darstellt auf dem Markt? Oder hat jemand eine Idee wo man das anpassen kann?

Mit freundlichen Grüssen, Marcel
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.724
355
In der NOVA\snippets/image.tpl ist zwar im aufruf der image.tpl Zeile 20-23 was zu den zu ladenden Bilderegrössen, jedoch brachte das auch keine Änderung.
Die Breite der Slides wird dynamisch anhand der gesetzten Anzahl berechnet. Die Anzahl definiert sich in der jtl.evo.js im Bereich des SlickSliders. Einfach da mal schauen.
 
  • Gefällt mir
Reaktionen: Groundhog

pctech

Gut bekanntes Mitglied
14. Juli 2009
115
12
Sehr geehrter Herr Wolf

Vielen Dank, für diesen Tipp, hier der Code:
JavaScript:
generateSlickSlider: function() {
            let self = this;
            self.initSlick($('.evo-box-slider:not(.slick-initialized)'), 'box-slider');
            self.initSlick($('.evo-slider-half:not(.slick-initialized)'), 'slider-half');
            self.initSlick($('.evo-slider:not(.slick-initialized)'), 'product-slider');
            self.initSlick($('.news-slider:not(.slick-initialized)'), 'news-slider');

            $('.slick-lazy').on('mouseenter', function (e) {
                let mainNode = $(this);
                mainNode.removeClass('slick-lazy');
                if (!mainNode.hasClass('slick-initialized')) {
                    mainNode.find('.product-wrapper').removeClass('mx-auto ml-auto-util mr-auto');
                    self.initSlick(mainNode, mainNode.data('slick-type'));
                }
            });

showNotify: function(options) {
            eModal.alert({
                size: 'xl',
                buttons: false,
                title: options.title,
                message: options.text,
                keyboard: true,
                tabindex: -1})
                .then(
                 function() {
                    $.evo.generateSlickSlider();
                }
            );
        },

register: function() {
            this.productTabsPriceFlow();
            this.generateSlickSlider();
            setTimeout(() => {
                $('.nav-tabs').tabdrop();
            }, 200);
            this.tooltips();
            this.popupDep();
            this.popover();
            this.addCartBtnAnimation();
            this.checkout();
            if ($('body').data('page') == 3) {
                this.addInactivityCheck('#cart-form');
            }
            this.fixStickyElements();
            this.setWishlistVisibilitySwitches();
            this.initEModals();
            $.evo.article().initConfigListeners();
            this.initScrollEvents();
            this.initReviewHelpful();
            this.initWishlist();
            this.initPaginationEvents();
            this.initFilterEvents();
            this.initItemSearch('filter');
            this.initSliders();
            this.registerImageHover();
        }
    };

Leider sehe ich ausser bei size:xl nichts zu der Grösse. Haben Sie da einen genaueren Tipp?
Freundliche Grüsse, Marcel Wuersch
 

pctech

Gut bekanntes Mitglied
14. Juli 2009
115
12
Da hilft derzeit nur eine größere Anpassung über das Child Template wenn man das vernünftig haben möchte.

Ich sorge z.B.: dafür, dass die Initialisierung der Slider durch JTL verhindert wird und initialisiere diesen dann über meine eigene Konfiguration.
Guten Abend
Nunja, irgendwie ist wohl das Nova template einfach mit zu vielen alten dingens belastet. Das vorherige Template war wohl einfach besser.
 

pctech

Gut bekanntes Mitglied
14. Juli 2009
115
12
Hallo Forum
Nunja, ein wenig grösser geht, indem man das Padding rausnimmt, welches in der in der carousel.scss zum Div .slick-slide gesetzt ist.
So hat es dann ein wenig mehr Platz und somit berechnet die JS das das Bild ein wenig grösser erscheint.

CSS:
.slick-slide {
  padding: 0rem;
}


Das ganze "alte" EVO Boxen Zeug wird wohl hoffentlich mal alles entfernt aus NOVA und durch OPC Portlets ersetzt.
Wollte dazu ein Support Ticket erstellen, damit es in den Issue Tracker kommt. Jedoch damit kein Glück gehabt oder Gehör gefunden.
Nunja. Was solls. Die Hoffnung besteht.... 😇😇😇
Wünsche euch allen einen schönen Tag
 

Ähnliche Themen