Nivo Slider

Hallo zusammen!

Ich wollte meinen Standard Slider durch den schicken nivo Slider ersetzen. Leider ist es jetzt so, das sich bei so gut wie jedem Bannerwechsel der Slider ein und ausklappt. Ich beschäftige mich jetzt schon einige Tage damit und bin mittlerweile komplett ratlos. Die Forensuche hab ich natürlich schon bemüht, leider ohne Ergebnis. In einem Post wird die Sache mal kurz angesprochen, im nächsten Post heisst es, weiss nicht woran es lag, hat sich erledigt…
Hab meinen Shop mittlerweile mächtig verändert und kann nicht ausschließen das vielleicht sogar eine meiner css Angaben falsch ist, könnte sowas so ein Problem verursachen? Noch vorweg, ich benutz die CE 4.8.1, die Banner haben alle die Größe 1000px x 400px.

Wie ich vorgegangen bin:

  1. Download Nivo Slider
    https://github.com/vanilla-thunder/vt-nivo

  2. Hochgeladen + aktiviert nach dieser Anleitung
    http://marat.ws/vt-nivo/

Hab den Slider im header.tpl so untergebracht:

<div id="slider_block">
[{block name="vt_nivo"}]  
[{if $oView->getClassName()=='start' && $oView->getBanners()|@count > 0 }]  
    <div class="oxSlider">  
        [{include file="widget/promoslider.tpl" }]  
    </div>  
[{/if}]  
[{/block}]  
</div>

und in der css sieht’s so aus:


#slider_block {
    height: 400px;
    margin-top: 50px;
    position: relative;
    top: 25px;
    width: 1000px;
    left: 50%;
    margin-left: -500px;
}

Kann es da etwa irgendeinen Konflikt geben? Aber ohne id funktioniert es auch nicht…Hatte auch zuvor den Standard Slider komplett angepasst, mittlerweile aber alle Änderungen rückgängig gemacht.
Hat vielleicht jemand euch einen Tipp für mich woran es liegen könnte, bzw was ich probieren kann?

Mfg Sebastian

Nach meiner Erfahrung ist das ein Prototyp der in Oxid 4.7 entwickelt wurde. ZU Problemen musst Du “Vanilla Thunder” direkt fragen.

Also ehrlich gesagt Vanilla Thunder direkt fragen trau ich mich nicht wirklich :o Und ich könnte fast wetten Programmierer wie er, hassen pm’s von newbies wie mir :slight_smile: Schaut er denn hier nicht ab und zu vorbei? Ich befürchte es liegt an meiner css Datei, aber wie kann ich rausfinden wo das Problem ist? Auf einem frisch installierten Testshop (natürlich gleiche Version) lief der Slider auf Anhieb.

noch ne alternative

[QUOTE=sr3056;153193]Also ehrlich gesagt Vanilla Thunder direkt fragen trau ich mich nicht wirklich :o Und ich könnte fast wetten Programmierer wie er, hassen pm’s von newbies wie mir :slight_smile: Schaut er denn hier nicht ab und zu vorbei? Ich befürchte es liegt an meiner css Datei, aber wie kann ich rausfinden wo das Problem ist? Auf einem frisch installierten Testshop (natürlich gleiche Version) lief der Slider auf Anhieb.[/QUOTE]

was exakt passiert denn? dann kann man auch mehr sagen. wobei ich vermute es liegt eher an der init funktion. das ist erfahrungsgemäß eher das problem. aber … kommt ja auf den fehler an den du leider nicht beschreibst!

danke für den Link domino! bin ich auch schon drüber gestolpert, dachte das ist der gleiche… werd ich nachher gleich mal probieren. Aber wie gesagt ich glaub meine oxid.css ist das Problem, beim testshop läufts ja auch einwandfrei, bis ich meine oxid.css hochlad…

Aber wie kann ich das Problem ausfindig machen? Arbeite seit einem Jahr an dieser Datei, natürlich sind da bestimmt auch einige Anfängerfehler drin, aber muss ich sie jetzt deswegen komplett neu machen? Nach der ganzen Arbeit bisher würde mir das schon sehr schwer fallen…

Also das Problem an sich ist nicht einfach zu beschreiben, ich probiers mal…
Hab 3 Bilder gemacht um das ganze ein bisschen besser zu verstehen. Auf dem ersten Bild(a) sieht man den Slider (ausgeklappt), beim sliden zieht er sich dann ziemlich zusammen und bis das nächste Bild fertig geladen ist, klappt er wieder aus, Bild(b). Jedoch schneidet er dabei meistens den unteren Rand ab wie auf Bild(a), und ab und zu nicht Bild(b), allerdings ist da auch zu erkennen das das Bild über die Navigation rutscht. Den "normalen Zustand des Sliders kann ich anscheinend beim Neuladen der Seite sehen. Dann sieht es aus wie auf Bild©, diesen Zustand hat er allerdings immer nur bis zum ersten slide, dann zieht er sich zusammen. Bei höheren Bildern rutscht der Banner dann aber augenscheinlich komplett unten aus dem Slider raus.

Hier ein paar Sachen aus meiner oxid.css:


#page {
    background: linear-gradient(#ffffff, #8bbad5) repeat scroll 0 0 rgba(0, 0, 0, 0);
    margin: 0 auto;
    position: relative;
    width: 100%;
}

#header {
    background: linear-gradient(#6699ff, #b0e0e6) repeat scroll 0 0 rgba(0, 0, 0, 0);
    height: auto;
    margin: 0 auto -10px;
    min-height: 250px;
    position: relative;
    width: 100%;
}

#content {
    width: 940px;
    margin: 0 10px;
    padding-bottom: 10px;
    float: left;
}

auf der Startseite hab ich diesen Content:
#content_start {
    position: relative;
    width: 100%;
    margin: 0 auto;
    height: auto;
}

#slider_block {
    background: linear-gradient(#b0e0e6, #eff8ff) repeat scroll 0 0 rgba(0, 0, 0, 0);
    height: auto;
    position: relative;
    width: 100%;
    top: 25px;
}

hier height auto weil der slider ja nur auf der Startseite zu sehen ist, macht man das überhaupt so? oder gibts da eine elegantere Lösung? Das overflow: hidden und clear: both ist ja bei .oxslider auch zu finden, dachte schaden kann es nicht...
#slider_box {
    height: auto;
    margin: 15px auto 0;
    position: relative;
    width: 900px;
    overflow: hidden;
    clear:both;
    padding: 0;
}


was sich noch alles im header befindet:
#Baustelle {
    left: 283px;
    margin: 0 auto;
    position: absolute;
    top: 135px;
    width: 445px;

}

eine kleine Leiste am oberen Bildschirmrand:
#login_hg {
    background-color: #000000;
    margin: 0 auto;
    position: relative;
    width: 100%;
    height: 40px;
}

#search_login_block {
    height: 40px;
    left: 50%;
    margin-left: -160px;
    position: relative;
    top: 0;
    width: 660px;
}

#login_menue_top {
    height: 25px;
    left: 380px;
    position: absolute;
    top: 12px;
}
weil mein header width: 100% hat, hab ich diese id erstellt das nichts verrutscht. macht man das überhaupt so?
#header_elemente {
    height: 250px;
    left: 50%;
    margin-left: -512px;
    position: absolute;
    top: 0;
    width: 1000px;
}

dieser block ist direkt unter dem Slider, dort hab ich den manufacture slider über eine cms seite eingebunden. Etwas zweckentfremdet dient er mir dazu meine Top Ankäufe zu zeigen. Allerdings muss ich da auch noch nacharbeiten, weil er z.B. auf kleinen smartphones die Bilder untereinander anzeigt. Dadurch das er unter dem header und slider liegt ist durch vererbung oder ähnliches aber nichts zu befürchten oder?
#block_manu {
    background: url("../../img/hg-block_manu2.png") repeat scroll 0 0 rgba(0, 0, 0, 0);
    clear: both;
    height: 300px;
    margin-top: -12px;
    position: relative;
    width: 100%;
}

#block_manu_box {
    position: relative;
    width: 990px;
    height: auto;
    margin: 0;
    left: 50%;
    margin-left: -495px;
    top: 75px;
}
 }

ist da für euch vielleicht was zu erkennen das sich beißen könnte?

Jetzt hätte ich es fast vergessen. Beim laden der Seite habe ich schon länger das Problem das der header nicht auf Anhieb richtig geladen wird. Sieht so aus als wenn alles erst an seine richtige position rutschen muss. Da wird erst ein ziemlich großer rahmen mit einem kleinen x angezeigt, der dann auch gleich wieder verschwindet und darauf hin sieht man dann die navigation und darunter den Slider erscheinen. Gibt es eine Möglichkeit herauszufinden was das ist? Vielleicht ist das ja das Problem…
Hoffe ich konnte es einigermaßen verständlich beschreiben und genug Informationen liefern. Habt ihr vielleicht einen Tipp für mich woran sowas liegen kann?

DANKE! an jeden der das überhaupt alles liest :o

ein Link würde manches vereinfachen.

Dein CSS zu posten ist schön und gut, es kann aber immer sein, dass die Anweisungen gar nicht greifen, weil sie an anderer Stelle überschrieben werden.

Da hab ich wirklich die Bilder vergessen oder :slight_smile:

Also eigentlich wollte ich meinen Shop im Forum erst vorstellen wenn ich fertig bin, ein bisschen peinlich ist mir das an der einen oder anderen Stelle ja schon, aber gut bitte immer dran denken! Noch lange nicht fertig ca. 6 Mon. Bauarbeiten sind noch geplant. Noch etwas, wenn ich so ein Baustellenschild im header hab, bin ich doch rechtlich auf der sicheren Seite oder?

www.no1games.de

die id #slider_block umfasst den gesamten Inhalt, was vermutlich nicht so gedacht ist.

die Slider-Images sind 900x300, aber der Inline-Style der Slides ist 880x220. Kann dann ja auch nicht passen. das ruckeln am Anfang ist wohl, dass das erste Slider-Image angezeigt wird, dann lädt der Slider und schreibt sich die Inline-Styles und schrumpelt dann zusammen. Auf localhost fällt das vielleicht nicht auf, weil es schneller geht als online.

Wenn Du für das Layout 6 Monate brauchst überleg Dir eins zu kaufen. Das hier ist schön http://www.digidesk.de/roxive-oxid-responsive.html

yup da hat meisteryoda recht… die inline styles passen nicht zur bildgröße daher das schrumpeln.

nebenher: ich würde das logo in den header machen und beim scrollen einfach verkleinern…

ähnlich wie hier: http://web5.cpsrv01.agentur2c.net/

und das menü ist grauenhaft :frowning:

also #slider_block ist eigentlich schon so gedacht da sonst eine blöde Kante durch den gestreckten header entsteht, so hab ich nen eigenen bg dafür. Hab an #slider_block auch schon alles möglich getestet, wo sieht man den jetzt was von Inline-Style? Und was kann ich jetzt ändern?

Versteh ich das richtig das das ruckeln am Anfang dann auch mit dem Slider zu tun hat?

Wusste garnicht das es für solche Preise schon ein komplett fertiges Design zu kaufen gibt, hätte ich jetzt nicht gedacht. Aber es ist so das ich auch noch einiges an Zeit für die Datenbank brauch, sind ja noch nicht die richtigen Preise und alles brauch noch eine Auswahlliste. Und was mir die größten Sorgen macht ist das Google Ranking, da hilft dann auch ein gekauftes Design nix :slight_smile:

Vielen Dank für die Hilfe!

[QUOTE=sr3056;153256]wo sieht man den jetzt was von Inline-Style? Und was kann ich jetzt ändern?[/QUOTE]

benutz die Entwicklertools deines Browsers. Entweder es gibt im Backend eine Einstellung wo Du die Größe des Sliders einstellen kannst oder Du musst im script schauen wo Du das ändern kannst. Ich kann nicht schauen, da ich den Nivo-Slider nirgends im Einsatz habe. Du kannst natürlich auch die Grafiken passend zum Slider in 880x220px machen.

[QUOTE=sr3056;153256]
Versteh ich das richtig das das ruckeln am Anfang dann auch mit dem Slider zu tun hat?[/QUOTE]

ich vermute das.

p.s.: die slides werden so ausgegeben.

<img class=“nivo-main-image” src=“http://no1games.de/out/pictures/promo/testbild3png-900x300.png” style=“display: inline; width: 880px; height: 220px;”>

wobei der erste bei initialisierung ein height:auto; hat. Deshalb ruckelt es.

Vielen Dank für die Infos! Leider bringt mich das jetzt aber auch nicht weiter. Hab mit allen möglichen Suchebegriffen die Dateien durchsucht aber nix gefunden. Zumindest nix wo ich erkennen kann das es diese Stelle ist.

Wenn ich so einen Code vor Augen hab…

n="";if(!t.is("img")){if(t.is("a")){t.addClass("nivo-imageLink");n=t}t=t.find("img:first")}var r=r===0?t.attr("width"):t.width(),s=s===0?t.attr("height"):t.height();if(n!==""){n.css("display","none")}t.css("display","none");i.totalSlides++});if(r.randomStart){r.startSlide=Math.floor(Math.random()*i.totalSlides)}if(r.startSlide>0){if(r.startSlide>=i.totalSlides){r.startSlide=i.tota

bin ich raus… :slight_smile:

@Caladan ja das ist wirklich schön gemacht. Ist das denn alles über css gemacht? Oder sind da auch Templates zu bearbeiten?

[QUOTE=sr3056;153290]Vielen Dank für die Infos! Leider bringt mich das jetzt aber auch nicht weiter. Hab mit allen möglichen Suchebegriffen die Dateien durchsucht aber nix gefunden. Zumindest nix wo ich erkennen kann das es diese Stelle ist.

Wenn ich so einen Code vor Augen hab…

n="";if(!t.is("img")){if(t.is("a")){t.addClass("nivo-imageLink");n=t}t=t.find("img:first")}var r=r===0?t.attr("width"):t.width(),s=s===0?t.attr("height"):t.height();if(n!==""){n.css("display","none")}t.css("display","none");i.totalSlides++});if(r.randomStart){r.startSlide=Math.floor(Math.random()*i.totalSlides)}if(r.startSlide>0){if(r.startSlide>=i.totalSlides){r.startSlide=i.tota

bin ich raus… :slight_smile:

@Caladan ja das ist wirklich schön gemacht. Ist das denn alles über css gemacht? Oder sind da auch Templates zu bearbeiten?[/QUOTE]

zu deinem problem: ich meine mich zu erinnern, dass der nivoslider diese inline styles erstellt. dies tut er auf basis der bilder und des containers in dem er sich befindet(meine ich). hier also mal alles checken und richtig machen!

zu der anderen frage: welchen part meinst du exakt? das logo?

die sich verkleinernde leiste oben ist recht einfach mit ein paar css anpassungen und einem kleinen javascript möglich!

meine header.tpl (version 4.8.6) sieht so aus:

[{capture assign=VariableHeader}]
function init_top() {window.addEventListener('scroll', function(e){var distanceY = window.pageYOffset || document.documentElement.scrollTop,shrinkOn = 300,header = document.querySelector("header");if (distanceY > shrinkOn) {classie.add(header,"smaller");} else {if (classie.has(header,"smaller")) {classie.remove(header,"smaller");}}});}
window.onload = init_top();
[{/capture}]
[{oxscript include="js/widgets/classie.js" priority=10}]
[{oxscript add=$VariableHeader}]
<header>
<div id="header" class="clear container clearfix">
[{if $oxcmp_user || $oView->getCompareItemCount() || $Errors.loginBoxErrors}][{assign var="blAnon" value=0}][{assign var="force_sid" value=$oView->getSidForWidget()}][{else}][{assign var="blAnon" value=1}][{/if}]
[{oxid_include_widget cl="oxwServiceMenu" _parent=$oView->getClassName() force_sid=$force_sid nocookie=$blAnon _navurlparams=$oViewConf->getNavUrlParams() anid=$oViewConf->getActArticleId()}]
[{assign var="sLogoImg" value=$oViewConf->getShopLogo()}]
<a id="logo" href="[{$oViewConf->getHomeLink()}]" title="[{$oxcmp_shop->oxshops__oxtitleprefix->value}]"><img src="[{$oViewConf->getImageUrl($sLogoImg)}]" alt="Ketchup-Mayo-Senf.de - gebrauchte Bueromoebel Logo"></a>
[{include file="widget/MenuNew.tpl"}]
[{include file="widget/header/search.tpl"}]
[{if $oxcmp_basket->getProductsCount()}]
[{assign var="blAnon" value=0}]
[{assign var="force_sid" value=$oView->getSidForWidget()}]
[{else}]
[{assign var="blAnon" value=1}]
[{/if}]
<div id="minibasket_container">
[{oxid_include_widget cl="oxwMiniBasket" nocookie=$blAnon force_sid=$force_sid}]
</div>
</div>
</header>

darin enthalten schon der js code.

den html part kannste ja aus meiner website auslesen (inkl. den css anpassungen). das geht im chrome übrigens super indem du “f12” drückst :wink:

benötigt wird noch “classie.js” die du einfach in den passenden pfad haust (siehe code von header.tpl)

das MenueNew.tpl ist mein Menü, das aber in der Startseite nicht angezeigt wird.

ja wie cool ist das denn :slight_smile: sehr nett, Danke dir! Und das darf ich einfach so benutzen ja?

Hab jetzt vorhin den Entschluss getroffen meine derzeitige Seite als Übungsseite zu betrachten und nochmal einen neuen Shop aufzusetzen. Das meiste hab ich ja gespeichert und brauch es einfach nur überschreiben oder neu hochladen. Bin nämlich seit ein paar Wochen damit beschäftigt selbst eingebaute Fehler wieder rückgängig zu machen. Und das mit dem Slider ist der Todesstoß, einen Slider möchte ich schon benutzen…

Zu deinem Code stellen sich mir leider wieder gleich die ersten Fragen…

was meinst du mit html part?

und das classie.js bekomm ich woher? :slight_smile:

mit dem menueNew.tpl meinst du das ich das nicht dafür brauche oder?

[QUOTE=sr3056;153297]Und das mit dem Slider ist der Todesstoß, einen Slider möchte ich schon benutzen…[/QUOTE]

dann nimm einfach den von Azure. Damit kann nicht viel schief gehen, sonst arbeitest Du noch 2 Jahre an dem Shop. :slight_smile:

hehe :slight_smile: ja das glaub ich auch bald…

Jetzt hat sich gerade rausgestellt das nach import der Datenbank auf dem neuen Shop genau das selbe Problem mit dem Slider ist. Bei diesem Shop hab ich nur die header.tpl bis jetzt verändert. Wie kann das denn sein?

Wenn man die Datenbank importiert werden doch nur die eingetragenen Shopdaten im Backend importiert oder nicht?

Also eigentlich wollte ich den Standard Slider auch benutzen aber der nivo oder der layer slider machen halt schon viel mehr her…

Jetzt verzweifel ich wirklich bald…:frowning:

[QUOTE=sr3056;153301]
Wenn man die Datenbank importiert werden doch nur die eingetragenen Shopdaten im Backend importiert oder nicht?[/QUOTE]

wenn man die Datenbank importiert, wird die Datenbank importiert.

Hast Du die Views mit importiert? Das sollte man nicht, oder eben nach import die Views neu generieren.

Hast Du auch den tmp-Ordner geleert?

ja hatte die views mit importiert, war ich wieder zu schnell. Aber jetzt hab ich ohne Views (ohne Tabellen mit Präfix “oxv_” ) exportiert und in den neuen Shop importiert. Views jetzt updaten geklickt und tmp geleert und klappt trotzdem nicht. Hab gesehen im Shop kann man auch Sql importieren, hab es bis jetzt alles über phpmyadmin gemacht. Das macht aber keinen Unterschied oder?