Wunsch: Nivo Slider als Plugin

[quote=„nGeneration“]Ich hoffe, ich bin hier richtig. Als Neueinsteiger bei Shopware würde ich es sehr begrüßen, wenn der Nivo Slider als Plugin in den Shop integriert wird. Die Umstellung des Plugins Recommendation empfinde ich ziemlich mühselig und auch die alternative Anbindung über CSS und Javascript erweist sich, als nicht besonders hilfreich. Blöcke wie TopSeller oder auch die Suche funktionieren nicht mehr. Frage an die Community: Wie findet ihr diese Idee?[/quote] Die Lösung als Plugin ist absolut nicht notwendig… Man muss nur im Template-Header („frontend\index\header.tpl“) das Nivo-Slider-Javascript einbinden, und im Template für den Banner-Slider („frontend\plugins\recommendation\blocks_index.tpl“) die HTML-Generierung und Slider-Initialisierung statt für den Standard-Slider für den Nivo-Slider machen… Die Slider-Initialisierung erfolgt hier: {if $banner\_active} $('.slider\_banner').ajaxSlider('locale', { 'width':630, 'height':386, 'scrollWidth': 630, 'containerClass': 'bannerSlider', 'outer': false, 'headline': false, 'rotate': true, 'scrollSpeed': 600, 'containerCSS': { 'marginBottom': '15px'} }); {/if} Die HTML-Generierung erfolgt hier: [code]{block name=„frontend_listing_banner“} {if $banners && !$sLiveShopping && $banner_active}

{foreach from=$banners item=banner} {if $banner.liveshoppingID} {if $banner.liveshoppingData}
{include file=„frontend/listing/box_liveshopping.tpl“ liveArt=$banner.liveshoppingData}
{/if} {else}
{$banner.description}
{/if} {/foreach}
{else} {$smarty.block.parent} {/if} {/block} [/code] Das geht rucki-zucki :sunglasses:

[quote=“nGeneration”]Nagut, werde es heute abend mal ausprobieren. Eine Frage: Wie binde ich den Nivo-Slider in den Template-Header ein? Auszug aus header.tpl {\* Stylesheets and Javascripts \*} {block name="frontend\_index\_header\_css\_screen"} {/block} {block name="frontend\_index\_header\_javascript"} {block name="frontend\_index\_header\_javascript\_jquery"} {/block} {/block} Soll ich die Codes aus jquery.nivo.slider.js dort einfügen? Es gibt auch noch die Datei jquery.nivo.slider.pack.js . Die CSS-Datei muss ich nicht einbinden?[/quote] Hast du den Slider eingebaut? Ich fände die Umsetzung interessant, wenn dann die Banner aus dem Shopware Backend dafür genommen werden können, das hatte ich damals leider nicht vollständig umsetzen können.

Hallo, wäre super, wenn man das als Tutorial oder Plugin zur Verfügung stellen könnte. Ich habe das versucht wie beschrieben einzubauen, es hat aber leider nicht geklappt :frowning: Grüße aus Bremen, Eric

Ich muss das nochmal aufgreifen, da wie ich auch ein paar andere damit nicht ganz so zurecht kommen. Das soll in den Header [quote]{block name=„frontend_index_header_javascript“ append}{/block}[/quote] Aber bitte zu welcher js soll verlinkt werden? Und das soll dann ins blocks_index.tpl [quote]{block name=„frontend_listing_banner“} {if $banners && !$sLiveShopping && $banner_active}

{foreach from=$banners item=banner} {if $banner.liveshoppingID} {if $banner.liveshoppingData}
{include file=„frontend/listing/box_liveshopping.tpl“ liveArt=$banner.liveshoppingData}
{/if} {else}
{$banner.description}
{/if} {/foreach}
{else} {$smarty.block.parent} {/if} {/block}[/quote] Eigentlich logisch, wenn man weiss zur welche js verlinkt werden soll.:frowning:

[quote=“Bibeno”]Ich muss das nochmal aufgreifen, da wie ich auch ein paar andere damit nicht ganz so zurecht kommen. Das soll in den Header [quote]{block name=“frontend_index_header_javascript” append}{/block}[/quote] Aber bitte zu welcher js soll verlinkt werden? [/quote] Na zur JavaScript Datei vom Nivo Slider. Dieser bringt ja seine eigene JavaScript Datei mit.

Dann bekomm ich auch den Fehler den ich im anderen Thema schon gepostet habe. Warum auch immer will das bei mir nicht so recht funktionieren.

So, ich versuche es mal: In der „eigenen“ index/header.tpl Template-Datei folgendes einfügen, die JS Datei vom Nivo muss natürlich erst an diese Stelle kopiert werden. {block name="frontend\_index\_header\_javascript\_jquery" append}<script type="text/javascript" src="%7Blink%20file='templates/myTemplate/frontend/_resources/javascript/jquery.nivo.slider.js'%7D"></script>{/block} Dann in der „eigenen“ plugins/recommendation/blocks_index.tpl Tempalte Datei folgendes schreiben: statt: {if $banner\_active} $('.slider\_banner').ajaxSlider('locale', { 'width':630, 'height':386, 'scrollWidth': 630, 'containerClass': 'bannerSlider', 'outer': false, 'headline': false, 'rotate': true, 'scrollSpeed': 600, 'containerCSS': { 'marginBottom': '15px'} }); {/if} Dies verwenden: {if $banner\_active} $('#slider').nivoSlider(); {/if} Und dann unten statt: [code] {block name=„frontend_listing_banner“} {if $banners && !$sLiveShopping && $banner_active}

{foreach from=$banners item=banner} {if !$banner.liveshoppingID}
{$banner.description}
{else} {if $banner.liveshoppingData}
{include file=„frontend/listing/box_liveshopping.tpl“ liveArt=$banner.liveshoppingData}
{/if} {/if} {/foreach}
{else} {$smarty.block.parent} {/if} {/block} [/code] Dies verwenden: block name="frontend\_listing\_banner"} {if $banners && !$sLiveShopping && $banner\_active} {foreach from=$banners item=banner} {if !$banner.liveshoppingID} [![{$banner.description}]({$banner.img})]({$banner.link}) {else} {if $banner.liveshoppingData} {include file="frontend/listing/box\_liveshopping.tpl" liveArt=$banner.liveshoppingData} {/if} {/if} {/foreach} {else} {$smarty.block.parent} {/if} {/block}

Und wieder bekomm ich das [quote]Fatal error: Uncaught exception ‘SmartyCompilerException’ with message ‘Syntax Error in template “/www/htdocs/w00b7234/bibeno-artgerechte-tiernahrung/html/templates/orange/frontend/index/header.tpl” on line 3 “” unexpected “append” attribute’ in /www/htdocs/w00b7234/bibeno-artgerechte-tiernahrung/html/engine/Enlight/Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php:404 Stack trace: #0 /www/htdocs/w00b7234/bibeno-artgerechte-tiernahrung/html/engine/Enlight/Vendor/Smarty/libs/sysplugins/smarty_internal_compilebase.php(49): Smarty_Internal_TemplateCompilerBase->trigger_template_error(‘unexpected "app…’) #1 /www/htdocs/w00b7234/bibeno-artgerechte-tiernahrung/html/engine/Enlight/Vendor/Smarty/libs/sysplugins/smarty_internal_compile_block.php(29): Smarty_Internal_CompileBase->_get_attributes(Array) #2 /www/htdocs/w00b7234/bibeno-artgerechte-tier in /www/htdocs/w00b7234/bibeno-artgerechte-tiernahrung/html/engine/Enlight/Vendor/Smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php on line 404[/quote] Das ist zum verrueckt werden

Dann passt bei dir etwas anderes nicht, poste doch mal deine kompletten Dateien.

Der Zeichensatz passt nicht, mit welchem Programm editierst du die TPL Dateien. Schau dir mal die Fehlermeldung an:Die Zeichen werden durch HTML Tags ersetzt! Statt " macht er ein " etc.

Hi, hatte meinen Code gerade in einem anderen Thread veröffentlicht, wo auch über den Nivo diskutiert wurde: Link Vielleicht hilft’s Euch!

Ich arbeite mit WinCP

[quote=“ottscho”]Der Zeichensatz passt nicht, mit welchem Programm editierst du die TPL Dateien. Schau dir mal die Fehlermeldung an:Die Zeichen werden durch HTML Tags ersetzt! Statt " macht er ein " etc.[/quote] Auch wenn ich das direkt uebers KAS mache, bin bei All Inkl. macht er das auch so. Wenn ich nach der Anleitung von artep gehe, gibt es kein Fehler, aber die 3 Banner werden einfach untereinander angezeigt.

Vielleicht liegt es an der css? Bitte auch die Größe der Banner beachten, da meine kleiner sind!! Hier mal meine css (einiges hab ich auskommentiert): /\* \* jQuery Nivo Slider v2.4 \* http://nivo.dev7studios.com \* \* Copyright 2011, Gilbert Pellegrom \* Free to use and abuse under the MIT license. \* http://www.opensource.org/licenses/mit-license.php \* \* March 2010 \*/ /\* The Nivo Slider styles \*/ .nivoSlider { /\*height:290px; width:630px; margin-bottom:28px;\*/ } .nivoSlider img { position:absolute; top:0px; left:0px; } /\* If an image is wrapped in a link \*/ .nivoSlider a.nivo-imageLink { position:absolute; top:0px; left:0px; width:100%; height:100%; margin-bottom:10px; border:0; padding:0; margin:0; z-index:60; display:none; } /\* The slices in the Slider \*/ .nivo-slice { display:block; position:absolute; z-index:50; height:100%; } /\* Caption styles \*/ /\*.nivo-caption { position:absolute; left:0px; bottom:0px; background:#575654; color:#fff; opacity:0.8; /\* Overridden by captionOpacity setting \*/ /\*width:628px; margin-bottom:-23px; z-index:89; } \*/ /\*.nivo-caption p { padding:5px; margin:0; } \*/ /\*.nivo-caption a { display:inline !important; } \*/ /\*.nivo-html-caption { display:none; } \*/ /\* Direction nav styles (e.g. Next & Prev) \*/ .nivo-directionNav a { position:absolute; top:45%; z-index:99; cursor:pointer; } .nivo-prevNav { left:0px; } .nivo-nextNav { right:0px; } /\* Control nav styles (e.g. 1,2,3...) \*/ .nivo-controlNav a { position:relative; z-index:99; cursor:pointer; } .nivo-controlNav a.active { font-weight:bold; }

[quote=„Bibeno“]Das ist zum verrueckt werden[/quote] Ach nee, deswegen doch nicht… Du musst Den Script-Code in {literal}{/literal} Smarty-Tags einbinden…

Doch doch, isses fuer mich. Ich kenn mich damit nicht wirklich aus,gebe aber auch nicht auf, denn es muss ja irgendwie klappen, frueher oder spaeter. So, also ich sollte es so einbinden sagste? {literal} {block name=“frontend_index_header_javascript_jquery” append}{/block} {/literal}

Umpf, nun sieht es aus wie als haette ich das von Petra uebernommen, nur das oben halt im Header noch was steht und halt die 3 Banner unter einander. Ich geh mal um die Ecke mit den Fuessen stampfen.

Ahhh ha, also irgendwas passiert da jetzt schon. Petra, habe mal deine css genommen und nun bin ich schon e in Stueck weiter, da passiert was…lach… EDIT: Juhuuuuuuuuuuu, es gehhhhhhhhhhhhhhhhhht. Juhuuuuuuuuuuuu Aber nur mit der css von Petra. Die die ich von Nivo direkt genommen hatte, da passierte nichts. Allen Helfern ein dickes dankeschoen, vor allem fuer die Ausdauer :happy:

Hey, na das freut mich ja ! Jipi! Eine gute Tat heute! :wink: