Hallo zusammen, auf der Startseite haben wir den Nivo Slider im Header div eingebaut. Auf den Unterseiten sollen in Abhängigkeit der Kategorie im Header div unterschiedliche background-images hinterlegt werden, einfach statisch. Wie kann man sowas realisieren? Da es ja im Prinzip nur ein Template gibt. Danke für jeden Tipp!
Suche immer noch nach einer Möglichkeit dafür. Irgendwo habe ich mal eine Lösung mit dynamischen id’s gesehen, finde es aber leider nicht mehr…
Hey @Dennis.Digital, kannst du für die Geschichte nicht einfach eine Prüfung auf sCategoryCurrent machen und auf Basis der gerade ausgewählten Kategorie andere Bilder in den Slider setzen. {if $sCategoryCurrent == 3} //... set other background images {elseif $sCategoryCurrent === 4} //... set other background images {else} //... set the default background images {/if}
Im Kategorie-Modul wird dir die ID der jeweiligen Kategorie ja ausgegeben, so dass du hiermit alles an der Hand hättest: Viele Grüße, Stephan Pohl :shopware:
Hallo Stephan, vielen Dank für Deine Antwort. Das hat mich schon gut weiter gebracht! Die Sache ist nun die, dass ich auf den Unterseiten anderen CSS Formatierungen für den gleichen div Container benötige, da sich das Plugin im div anders verhält als z.B. ein einfaches Hintergrundbild. Diesen Fall habe ich öfters mal. Das müsste doch irgendwie auch mit Deinem Lösungsansatz funktionieren? Beste Grüße, Dennis
Hallo @Dennis.Digital, das gleiche Prinzip kannst du ja auch zur Steuerung einer Klasse für deinen Slider verwenden. Ich habe dir hier mal eine kleine Funktion geschrieben, womit du die Klasse anhand der Kategorie-ID terminieren kannst. {\*\* \* Terminates the class name based on the passed category id \* @example \* {"{call getClass data=$sCategoryCurrent}"|trim} \*} {function name=getClass} {if $data === 3} category-main {elseif $data === 5} category-sport {elseif $data === 6} category-barbeque {else} category-default {/if} {/function}
Wenn du die Funktion in deine Template eingepflegt hast, die den Nivo-Slider beinhaltet, dann kannst du die Funktion einen aufrufen: [code]
…
[/code] Viele Grüße, Stephan Pohl :shopware:
Moin Stephan, bin begeistert! Von Deiner Lösung, sowie von dem Zusammenspiel des Templates mit der Engine! Feine Sache das! Denke dieser Lösungsansatz wird auch noch vielen anderen zu Gute kommen. Vielen Dank und Grüße, Dennis
Hallo Stephan, ein kleines Problem ist nun dochnoch aufgetaucht. Die Function sieht derzeit so bei mir aus: function name=getClass} {if $data === 2} startseite {else} unterseite {/if} {/function}
Die Startseite mit der ID=2 bekommt dann zur Klasse das “startseite” hinzugefügt, alle anderen Kategorieseiten bekommen dann “unterseite” zur Klasse dazu. Aber was ist mit den anderen Shopseiten, wie “Impressum”,oder der “Merkzettel” usw. Haben die auch eine Kategorie?? Oder wie kann ich die abfragen? Hoffe ihr könnt mir noch mal helfen. Besten Dank!
doch nicht gelöst
Irgendwie habe ich mich gerade zu früh gefreut und ich verstehe nicht wo der Logikfehler in der Abfrage ist. {\*\* \* Terminates the class name based on the passed category id \* @example \* {"{call getClass data=$sCategoryCurrent}"|trim} \*} {function name=getClass} {if $data === 2} startseite {else} unterseite {/if} {/function}
Die Seite mit der Kategorie “2” bekommt als Klasse “startseite” gesetzt [quote]
[/quote] ALLE anderen Seiten die Klasse “unterseite”. Und zwar sollen auch die Shopseiten wie “Impressum”, “Merkzettel” usw. diese Klasse “unterseite” bekommen. Genau das funktioniert nicht, dort wird auch “startseite” gesetzt. Woran liegt das? Weil diese Seiten gar keine Kategorie haben? Hier mal der link zur Entwicklungsumgebung: klick
Kann es sein dass die Shopseiten (Impressum, Merkzettel usw.) quasi automatisch die ID der Überkategorie/Startseite/Deutsch (2) bekommen? Denn bei Klick auf einer der Seite springt die Navigation oben immer zur Startseite, bzw. unterlegt diesen Punkt aktiv. Wenn das so wäre, kann der Lösungsansatz ja gar nicht funktionieren. Denn die Startseite soll anders formatiert werden als die anderen Shopseiten. Noch mal getestet: Ja! Genauso schaut es wohl aus… :x Jetzt bin ich wieder beim Stand von heute Morgen… Und weiß grad nicht mehr weiter
Sorry für’s viele posten, aber immerhin habe ich viel dabei gelernt! Nur eine Lösung für mein Problem leider immer noch nicht gefunden. Wenn Die Startseite die gleiche Kategorie ID (2) hat, wie die Shopseiten (Impressum, Merkzettel usw.) kann man diese nicht anhand der Kategorie ID unterscheiden und unterschiedlich formatieren, leider. Bei allen anderen Seiten funktioniert das natürlich wunderbar. Hat jemand noch eine Idee wie man das machen könnte? Es geht lediglich darum dass der gleiche div Container auf einer Unterseite eine andere Formatierung haben soll wie auf der Startseite.
Ich habe leider immer noch keine Lösung gefunden Und bin weiterhin über jeden Tipp dankbar! Auch mein durchweg positiver Eindruck von Shopware ist noch nicht getrübt, auch wenn es jetzt an so einer vermeintlichen Kleinigkeit hängt…
Hallo, mach am besten einen neuen Thread auf. Der hier ist als [gelöst] gekennzeichnet, da schaut glaube ich kein shopware Mitarbeiter mehr rein. Liebe Grüße Kerstin
Hallo, wenn es nur um die Shopseiten geht, kannst du per CSS “body.custom” diese Shopseiten ändern. Gruß Manuel
Hallo Manuel, das mit dem body.custom verstehe ich nicht so ganz. Wie soll das nur auf den Unterseiten greifen? Danke Dir!