Minibasket neuester Artikel

Hallihallo,

habe folgendes Problem: Wenn ich einen Artikel in den Warenkorb lege, geht ein Popup auf (minibasketmodal). In diesem würde ich mir aber gern immer nur einen und gleichzeitig neuesten Artikel anzeigen lassen. Gesamtpreis habe ich bereits selbst ausgeblendet.

Kann man das realisieren?

Hi,

natürlich kann man das realisieren.

In meinem Shop habe ich zB. so eine “In-den-Warenkorb-Meldung” gebastelt, in der immer nur der Artikel angezeigt wird, der gerade in den Warenkorb gelegt wurde. Probier´s einfach mal aus :wink:

Hallo Elygor,

wir suchen in:

shop/application/views/tpl/widget/minibasket/minibasket.tpl

das hier (Zeile 62 bis 77):


                    [{foreach from=$oxcmp_basket->getContents() name=miniBasketList item=_product}]
                        [{block name="widget_minibasket_product"}]
                            [{ assign var="minibasketItemTitle" value=$_product->getTitle() }]
                            <li>
                                <a href="[{$_product->getLink()}]" title="[{ $minibasketItemTitle|strip_tags }]">
                                    <span class="item">
                                        [{if $_product->getAmount() gt 1}]
                                            [{$_product->getAmount()}] x
                                        [{/if}]
                                        [{ $minibasketItemTitle|strip_tags }]
                                    </span>
                                    <strong class="price">[{$_product->getFTotalPrice()}] [{ $currency->sign}]</strong>
                                </a>
                            </li>
                        [{/block}]
                    [{/foreach}]

und ändern Ihn wie folgt:


                    [{foreach from=$oxcmp_basket->getContents() name=miniBasketList item=_product}]
                        [{block name="widget_minibasket_product"}]
                            [{ assign var="minibasketItemTitle" value=$_product->getTitle() }]
                            [{if $smarty.foreach.miniBasketList.last}]
                            <li>
                                <a href="[{$_product->getLink()}]" title="[{ $minibasketItemTitle|strip_tags }]">
                                    <span class="item">
                                        [{if $_product->getAmount() gt 1}]
                                            [{$_product->getAmount()}] x
                                        [{/if}]
                                        [{ $minibasketItemTitle|strip_tags }]
                                    </span>
                                    <strong class="price">[{$_product->getFTotalPrice()}] [{ $currency->sign}]</strong>
                                </a>
                            </li>
                            [{/if}]
                        [{/block}]
                    [{/foreach}]

Grüße
Rafig

Hallo Rafig,

vielen Dank für Deine Lösung! Hat genau das bewirkt, was ich wollte. :wink:

Edit: Habe gerade doch noch ein Problem festgestellt. Zwar stimmt jetzt das Popup, jedoch betrifft es nicht nur das Popup, sondern auch den Warenkorb im Header, in dem jetzt immer nur das zuletzt reingelegte Produkt angezeigt wird. Kann man das trennen, dass die Funktion nur auf das Popup zutrifft?

Hallo Elygor,

wir suchen in:

shop/application/views/tpl/widget/minibasket/minibasket.tpl

das hier (Zeile 62 bis 77):


                    [{foreach from=$oxcmp_basket->getContents() name=miniBasketList item=_product}]
                        [{block name="widget_minibasket_product"}]
                            [{ assign var="minibasketItemTitle" value=$_product->getTitle() }]
                            <li>
                                <a href="[{$_product->getLink()}]" title="[{ $minibasketItemTitle|strip_tags }]">
                                    <span class="item">
                                        [{if $_product->getAmount() gt 1}]
                                            [{$_product->getAmount()}] x
                                        [{/if}]
                                        [{ $minibasketItemTitle|strip_tags }]
                                    </span>
                                    <strong class="price">[{$_product->getFTotalPrice()}] [{ $currency->sign}]</strong>
                                </a>
                            </li>
                        [{/block}]
                    [{/foreach}]

und ändern Ihn wie folgt:


                    [{foreach from=$oxcmp_basket->getContents() name=miniBasketList item=_product}]
                        [{block name="widget_minibasket_product"}]
                            [{ assign var="minibasketItemTitle" value=$_product->getTitle() }]
                            [{if $_prefix == "modal" }]
                            [{if $smarty.foreach.miniBasketList.last}]
                            <li>
                                <a href="[{$_product->getLink()}]" title="[{ $minibasketItemTitle|strip_tags }]">
                                    <span class="item">
                                        [{if $_product->getAmount() gt 1}]
                                            [{$_product->getAmount()}] x
                                        [{/if}]
                                        [{ $minibasketItemTitle|strip_tags }]
                                    </span>
                                    <strong class="price">[{$_product->getFTotalPrice()}] [{ $currency->sign}]</strong>
                                </a>
                            </li>
                            [{/if}]
                            [{else}]
                            <li>
                                <a href="[{$_product->getLink()}]" title="[{ $minibasketItemTitle|strip_tags }]">
                                    <span class="item">
                                        [{if $_product->getAmount() gt 1}]
                                            [{$_product->getAmount()}] x
                                        [{/if}]
                                        [{ $minibasketItemTitle|strip_tags }]
                                    </span>
                                    <strong class="price">[{$_product->getFTotalPrice()}] [{ $currency->sign}]</strong>
                                </a>
                            </li>
                            [{/if}]                            
                        [{/block}]
                    [{/foreach}]

Grüße
Rafig

Wunderbar, vielen Dank nochmal! :wink:

Ich muss leider doch noch einmal schreiben, habe einen kleinen Fehler entdeckt :frowning:

Folgende Situation:
Ich habe Artikel a, b und c.

Ich lege Artikel a in den Warenkorb - ok
Ich lege Artikel b in den Warenkorb - ok
Ich lege Artikel c in den Warenkorb - ok

Nun lege ich nochmals Artikel a in den Warenkorb - der Artikel wird ordnungsgemäß dem Warenkorb hinzugefügt, das Popup zeigt mir jedoch an, ich hätte Artikel c in den Warenkorb gelegt. Der Quellcode sieht also eine Erhöhung der Anzahl nicht als “neuest .last” an.