Seite 1 von 1

"Warenkorb einsehen" ausblenden

BeitragVerfasst: Mo 1. Okt 2012, 09:38
von HerMer
hat vielleicht jemand eine Idee wie ich den Link "Warenkorb einsehen" ausblenden kann wenn der Warenwert = 0,00 :?:

Re: "Warenkorb einsehen" ausblenden

BeitragVerfasst: Mo 1. Okt 2012, 10:32
von martinw
Über den Preis wüsste ich jetzt nicht direkt eine schnelle Lösung, aber falls du beim Shop einen Lieferstatus mit Verkaufsstopp bei Lagerbestand = 0 hast und diesen dann den entsprechenden Artikeln zuweist würde das funktionieren.
So hab ich das bei mir auch um kostenlose Downloads anzubieten.
Im Artikel muss dann aber auch Lagerbestand 0 / 0 rein
In dem Fall in der artikeldetail.tpl nach SubmitButton suchen und entsprechend ändern.
z.B. so:
Code: Alles auswählen
<?if($tpl_bestellbutton == "verkaufstop") {?>
<div class="submitButton"><div><a href="<?=URLPFAD?>themes/wunschzettel/index.php?artikelid=<?=$tpl_artikelid?>&amp;formaction=speichern&amp;source=3"><?=$s_wunschzettel?></a></div></div>
<?} else {?>
<div class="submitButton"><div><a href="javascript:document.form_artikel.submit();"><strong><?=$tpl_bestellbutton?></strong></a></div></div>
<div class="submitButton"><div><a href="<?=URLPFAD?>themes/wunschzettel/index.php?artikelid=<?=$tpl_artikelid?>&amp;formaction=speichern&amp;source=3"><?=$s_wunschzettel?></a></div></div>
<?}?>

Re: "Warenkorb einsehen" ausblenden

BeitragVerfasst: Mo 1. Okt 2012, 15:40
von mmaass
In themes/warenkorb/index.php ersetze die vorhandene Abfrage in Zeile 89

if ($tpl_warenkorbdataarray) {

durch diese hier, dann klappt es.

if ($tpl_warenkorbdataarray["gesamtsumme"] != 0) {

Re: "Warenkorb einsehen" ausblenden

BeitragVerfasst: Mo 1. Okt 2012, 16:00
von Magnus
Eigentlich ist das standardmäßig schon drin, das heißt es ist abhängig von der Artikelanzahl, bei Artikelanzahl =0 wird der Warenkorbbereich nicht angezeigt.
Dafür ist in der index.tpl deines gewählten Templates dieser Bereich zuständig:
Code: Alles auswählen
<!-- Warenkorb -->
<?php if ($tpl_warAnzahl) { ?>
<div class="warenkorbBox">
    <h2><?php echo $lang_headline_warenkorb ?></h2>
    <div>
      <h4><?php echo $gesamtmenge ?> <?php echo $imWarenkorbSind ?></h4>
      <?php if ($imWarenkorbSum) { ?><h4><?php echo $imWarenkorbSum ?></h4><?php } ?>
      <h4><a href="<?php echo URLPFAD ?>themes/warenkorb/index.php?formaction=session_reset"><?php echo $l_warenkorbEinsehen ?></a></h4>
    </div>
</div>
<?php } ?>


Wenn du es jetzt wirklich vom Warenkorbwert abhängig machen willst sollte es reichen die Variable $tpl_warAnzahl z.B. durch $WarenkorbDataArray[preis_brutto] > 0 zu ersetzen.

viele Grüße

Magnus

Re: "Warenkorb einsehen" ausblenden

BeitragVerfasst: Di 2. Okt 2012, 12:46
von HerMer
Dank der Denkanstöße von euch hab ich es rausgefunden. Manchmal sieht man den Wald vor lauter Bäumen nicht.. ist im Grunde ja ganz einfach.

sieht bei mir jetzt so aus:

Code: Alles auswählen
<!-- Warenkorb -->
<div class="warenkorbBox">
    <h2><?php echo $lang_headline_warenkorb ?></h2>
    <div>
        <h4><?php echo $gesamtmenge ?> <?php echo $imWarenkorbSind ?></h4>
        <?php if ($gesamtmenge != "0") { ?>
            <?php if ($imWarenkorbSum) { ?><h4><?php echo $imWarenkorbSum ?></h4><?php } ?>
            <h4><a href="<?php echo URLPFAD ?>themes/warenkorb/index.php?formaction=session_reset"><?php echo $l_warenkorbEinsehen ?></a></h4>
        <?php } ?>
    </div>
</div>


dadurch wird die Warenkorbbox ständig eingeblendet, der Link zum Warenkorb aber nur dann, wenn auch wirklich was im Warenkorb ist

Re: "Warenkorb einsehen" ausblenden

BeitragVerfasst: Di 2. Okt 2012, 15:34
von Magnus
ja, so funktioniert das im Forum:
Eine Frage formuliert und
ein paar Anregungen und
ein bisschen Eigeninitiative,
dann klappts! :-)

Schön!

magnus

Re: "Warenkorb einsehen" ausblenden

BeitragVerfasst: Di 2. Jun 2015, 14:51
von pyro
bekommt man es irgendwie hin das der Button in den Warenkorb erst aktiv ist wenn man sich angemeldet hat?
oder besser man sollte ohne Anmeldung gar nichts in den Warenkorb tun können. Hat da wer ne Lösung für?

Re: "Warenkorb einsehen" ausblenden

BeitragVerfasst: Di 2. Jun 2015, 22:35
von Martens
Hallo pyro,

ob der User angemeldet ist, ist in der Session gespeichert. Das lässt sich einfach an allen Stellen, wo ein "In den Warenkorb"-Button ist, abfragen.
In templates/[DEIN_TEMPLATE]/website/artikel/artikeluebersicht.tpl ca. bei Zeile 110 steht
Code: Alles auswählen
<div class="submitButton"><a href="javascript:AddWarenkorb(<?php echo $tpl_artikel["id"]?> … (gekürzt)
<div class="addWarenkorbPopup" id="addWarenkorbPopup_<?php echo $tpl_artikel['id']?>"><!-- --></div>
</div>

Da wird dann einfach eine if-Abfrage drum herum gebaut:
Code: Alles auswählen
<?php if($_SESSION["com"] == "true"): ?>
   <div class="submitButton"><a href="javascript:AddWarenkorb(<?php echo $tpl_artikel["id"]?> … (gekürzt)
   <div class="addWarenkorbPopup" id="addWarenkorbPopup_<?php echo $tpl_artikel['id']?>"><!-- --></div>
   </div>
<?php endif; ?>


Das gleiche dann auch noch in templates/[DEIN_TEMPLATE]/website/artikel/artikeldetail.tpl ca. bei Zeile 166
Code: Alles auswählen
<div id="btnAddWarenkorb" class="submitButton"><a href="javascript:AddWarenkorb(document.form_artikel.artikelid.value, … (gekürzt)

erweitern:
Code: Alles auswählen
<?php if($_SESSION["com"] == "true"): ?>
   <div id="btnAddWarenkorb" class="submitButton"><a href="javascript:AddWarenkorb(document.form_artikel.artikelid.value, … (gekürzt)
<?php endif; ?>


Ich weiß gerade nicht, ob es noch andere Stellen gibt, an denen ein Warenkorb-Button ist (Wunschzettel ist ja ohnehin erst nach dem Login aufrufbar), aber wenn, dann funktioniert das dort genauso.

Vielleicht wäre es noch sinnvoll jeweils ein
Code: Alles auswählen
<?php else: ?>
<div class="login-info">Sie müssen sich einloggen, um diesen Artikel kaufen zu können.</div>
vor dem <?endif; ?> einzufügen.

Viele Grüße
Martin