Hallo, ich möchte gerne einen anderen Slider verwenden, wie frage ich denn die Banner ab, die jetzt aktiv sind? Habe es wie folgt probiert: {foreach from=$banners item=banner} [![{$sBanner.description}]({$sBanner.img})]({if $sBanner.link}{$sBanner.link}{else}#{/if} "{$sBanner.description}") {/foreach}
Allerdings wird mir hier immer nur ein Banner angezeigt, bei Browser Refresh kommt dann per Zufall ein anderes.
Hat niemand einen Denkanstoß für mich?
Beschreib doch bitte dein Problem noch genauer - das ist so zu unspezifisch, als das man hier eine konkrete Lösung anbieten könnte
Ich möchte einen Slider einsetzen, der im groben so aus sieht: [code]{block name=“frontend_listing_myslider”} {if $banners && $banner_active}
{foreach from=$banners item=id} []({if $sBanner.link}{$sBanner.link}{else}#{/if} “{$sBanner.description}”) {/foreach}
{/if} {/block}[/code] CSS und js sind eingebunden, das Ganze funktioniert auch wenn ich die Banner direkt verlinke: {block name="frontend\_listing\_myslider"} {if $banners && $banner\_active}
![](bild1.jpg) ![](bild2.jpg)
{/if} {/block}
Ich möchte aber auf die Banner die ich im Backend angelegt habe zurückgreifen.
Also auf alle Banner? Standardmäßig wird ja in der Kategorie-Ansicht immer nur ein Banner angezeigt - dazu müsstest du im Listing-Controller die Zeile $this-\>view-\>sBanner = Shopware()-\>Modules()-\>Marketing()-\>sBanner($categoryID);
modifizieren - einfach einen zweiten Parameter übergeben. Also sBanner($category,100); (würde max. 100 Banner auslesen).
Auf die aktiven Banner und nur auf der Startseite, als Ersatz für den jetzigen Ajax Slider.
Dann musst du den Code im Index-Controller IndexAction austauschen / modifizierne…
Ich muß hier jetzt wohl passen, das geht mir zu sehr in die Tiefe, habe dort jetzt auch die Zeile: $this->View()->sShippingcosts = $this->View()->sBasket[‚sShippingcosts‘]; eingetragen, um an die Versandkosten auf der Startseite zu kommen, allerdings tut sich da nix. Kann es evtl. daran liegen, das ich das Template mit shopware.php?sTpl=chsbtest aufrufe?
Ah, Zeile vergessen. Korrekt wäre: $this-\>View()-\>sBasket = $this-\>getBasket(); $this-\>View()-\>sShippingcosts = $this-\>View()-\>sBasket['sShippingcosts'];
$this-\>View()-\>sBasket = $this-\>getBasket();[/code] Das geht nicht, die hatte ich schon aus der Checkout.php probiert, die verursacht in der Index.php aber einen Fehler [code]Method "Shopware\_Proxies\_ShopwareControllersFrontendIndexProxy::getBasket" not found failure in Shopware/Controllers/Frontend/Index.php on line 26 Stack trace: #0 Enlight/Controller/Action.php(167): Enlight\_Class-\>\_\_call('getBasket', Array) #1 [internal function]: Enlight\_Controller\_Action-\>\_\_call('getBasket', Array) #2 Shopware/Controllers/Frontend/Index.php(26): Shopware\_Proxies\_ShopwareControllersFrontendIndexProxy-\>getBasket() #3 Enlight/Controller/Action.php(55): Shopware\_Controllers\_Frontend\_Index-\>indexAction() #4 Enlight/Controller/Dispatcher/DispatcherDefault.php(329): Enlight\_Controller\_Action-\>dispatch('indexAction') #5 Enlight/Controller/Front.php(88): Enlight\_Controller\_Dispatcher\_DispatcherDefault-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #6 Shopware/Bootstrap.php(21): Enlight\_Controller\_Front-\>dispatch() #7 Enlight/Application.php(69): Shopware\_Bootstrap-\>run() #8 shopware.php(6): Enlight\_Application-\>run() #9 {main}
Würde die zweite Zeile so aussehen? $this-\>view-\>sBanner = Shopware()-\>Modules()-\>Marketing()-\>sBanner($category,100);
Kann mir hier bitte noch jemand helfen. Ich möchte die Banner, die auf der Startseite oben angezeigt werden, mit einem neuen Slider versehen. Meine Template sieht im Moment so aus: [code]{block name=“frontend_listing_myslider”} {if $banners && $banner_active}
{foreach from=$banners item=id} []({if $sBanner.link}{$sBanner.link}{else}#{/if} “{$sBanner.description}”) {/foreach}
{/if} {/block}[/code] Nur nimmt er da per Zufall einen meiner Banner und slidet immer wieder zu diesem.
$this->view->sBanners = Shopware()->Modules()->Marketing()->sBanner($category,100); Müsste aber gehen - ich denke das Problem liegt eher im Template begraben. {block name="frontend\_listing\_myslider"}
Wie bindest du das Template ein? Den Block myslider gibt es doch garnicht?