Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Artikel nicht einzeln bestellbar machen

    umbi

    • Mitglied
    • Beiträge: 163
    • Geschlecht:
    Artikel nicht einzeln bestellbar machen
    am: 06. Juni 2018, 13:24:14
    Hallo zusammen

    Ich habe das Problem dass ich ein Produkt vertreibe welchen ich vom Hersteller unter Vorbehalt einer Konventionalstrafe nur im Bundle mit gewissen Artikeln verkaufen darf. Ich schreibe in H1 Tag rot strong auf dem Produkt "nur zusammen mit xy bestellbar Einzelbestellungen werden gelöscht" Trotzdem habe ich 4-5 dumme Kunden pro Tag, die den Artikel trotzdem bestellen. Meine Administratorin dreht am Rad wegen des mehraufwands, storno - Rückzahlung etc.

    Ich muss leider den Artikel auf der Seite aufführen.

    Meine Frage

    Hat irgend jemand eine Idee wie ich das lösen könnte dass der in den Warenkorb Button nur dann aufleuchtet, wenn bereits Artkel xy oder xz sich im Warenkorb befindet?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=39174.0
    rechtstexte für onlineshop

    Buggyboy

    • Fördermitglied
    • Beiträge: 968
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #1 am: 06. Juni 2018, 13:49:20
    Hallo!

    Hast Du mal unten bei Ähnlichen Themen geschaut ob da was für Dich bei ist?

    LG
    Peter

    umbi

    • Mitglied
    • Beiträge: 163
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #2 am: 06. Juni 2018, 23:00:49
    Hallo Buggyboy

    Danke für Deine Antwort.
    Selbstverständlich suche ich immer, bevor ich eine Frage stelle. Leider habe ich darüber nichts gefunden.
    Hast Du denn einen hinweislichen Link für mich?

    Es wird geschrieben man solle den Artikel auf FSK nehmen aber das möchte ich nicht, denn es ist wie mit den früherigen Varianten von den Windows OEM Versionen. Man darf diese zusammen mit einem Computer verkaufen aber nicht einzeln.

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #3 am: 06. Juni 2018, 23:10:02
    Wieso setzt du denn das zusätzliche Produkt nicht als Attribut zu dem Artikel ein?

    p3e

    • Experte
    • Beiträge: 2.424
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #4 am: 07. Juni 2018, 01:16:08
    Es gibt für eine ältere Version ein bundle-Modul, wobei das nicht genau das ist was du suchst. In den Modul bekommt man bei Kombination von bestimmten Produkten einen besonderen Preis.
    Du könntest es jedoch als Grundlage nehmen und anpassen.

    Wenn es nicht so viele Produkte betrifft, würde ich den Artikel direkt in Kombination anbieten. Um bei deinem Beispiel zu bleiben: Spricht ja nichts dagegen, den PC einmal ohne Betriebssystem und einmal mit Windows OEM anzubieten oder eben das Betriebssystem als Attribut optional anzubieten.
    Man kann ja immer noch das Windows OEM als Artikel mit einem Warenbestand von 0 Stück anlegen, so dass man den Artikel finden aber nicht kaufen kann und in der Artikelbeschreibung auf das Kombiangebot hinweisen.

    umbi

    • Mitglied
    • Beiträge: 163
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #5 am: 25. Dezember 2018, 22:13:59
    Hallo p3e

    Es wäre schon toll wenn ich bei einem gewissen Produkt " if warenkorb anzahl anderer Art im Warenkorb= "0" ist, der bestimmte Artikel nicht bestellbar wäre.

    Das Produkt wird aus einer CSV importiert, somit ist Optionsartikel / Attribut eher subobptimal.

    umbi

    • Mitglied
    • Beiträge: 163
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #6 am: 05. Juni 2019, 02:27:25
    Hallo Zusammen

    Ich möchte dieses Thema  nochmals aufgreifen.

    Mir würde es reichen wenn bei einer bestimmten Products_id  und sich keine weitere Artikel im Warenkorb  befinden, eine Fehlermeldung kommt (kann auch javascript popup sein) "Dieser Artikel ist nicht einzeln bestellbar.

    Ich habe schon in der shopping_cart folgendes versucht:

    Code: PHP  [Auswählen]
    if ($products_id ="1432" && ($_SESSION['cart']->count_contents() < 2)){
     $_SESSION['allow_checkout'] = 'false';
    echo "<h1 style=color:red;text-align:center>Artikel nicht einzeln bestellbar!</h1>";
    }
     

    Danke schon mal für die Hilfe :-)

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #7 am: 05. Juni 2019, 08:51:22
    Vorschlag:
    Du könntest z.B. in die Datei templates/dein_template/module/shopping_cart.html folgenden Code einfügen.

    Code: PHP  [Auswählen]
    {if $smarty.session.actual_content.1432 && count($smarty.session.actual_content) < 2}<h2 style=color:red;text-align:center>Artikel nicht einzeln bestellbar!</h2>{/if}
     

    Den Text könntest du auch noch auslagern.

    Gruss
    Hanspeter

    karsta.de

    • Experte
    • Beiträge: 3.156
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #8 am: 05. Juni 2019, 10:55:16
    Du könntest doch einen zweiten Artikel als Bundle-Artikel anlegen und diesen dann mittels Crossselling auf der Produktseite des PCs anzeigen.
    Wenn er nur zu diesem Artikel angezeigt werden soll, legst du zuvor eine eigene Kategorie für diesen Artikel an und stellst diese Kategorie auf off.

    BG kgd

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #9 am: 06. Juni 2019, 00:03:01
    Ich finde hpzellers Idee als Schnelllösung gut. Mit der von ihm geposteten Condition kann man auch die "Zur Kasse" und "PayPalExpress", usw.-Buttons ausblenden.

    Gruß,
    noRiddle

    umbi

    • Mitglied
    • Beiträge: 163
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #10 am: 06. Juni 2019, 00:11:33
    Hallo zusammen

    Vielen lieben Dank! 😊

    ich wede gerne mal hpzellers Lösung ausprobieren und hier berichten obs funktioniert.

    umbi

    • Mitglied
    • Beiträge: 163
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #11 am: 06. Juni 2019, 02:06:58
    Hallo zusammen

    Ich freue mich - es funktioniert :-)

    Habe es noch etwas erweitert damit kein Bestellbutton erscheint:

    Code: PHP  [Auswählen]
    {if $smarty.session.actual_content.1432 && count($smarty.session.actual_content) < 2}
       <h2 style=color:red;text-align:center>Artikel nicht einzeln bestellbar!</h2>
       {$BUTTON_CHECKOUT = ''}
       {/if}
     

    Jetzt habe ich nur noch ein kleines Problem zu lösen:
    Das Produkt mit id 1432 hat noch 2 Attribute:   option 1= "ohne cd rom"    option 2 = "mit cd rom"

    Attribut "ohne cd rom" hat die attribut_id 136
    Attribut "mit cd rom"   hat die attribut_id 135

    Wie ergänze ich den Code, damit die Schleife nicht ausgeführt wird, wenn ein Kunde option 2 "mit cd rom" auswählt?

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #12 am: 06. Juni 2019, 14:02:34
    Vorschlag:

    Füge in die Datei templates/dein_template/module/shopping_cart.html ganz am Anfang temporär folgenden Code ein.

    Code: PHP  [Auswählen]
    {$smarty.session.cart->contents|@debug_print_var}
     

    Dann legst du nur das Produkt mit der id 1432 und der Option "ohne cd rom" in den Warenkorb, danach solltest du im Browser unter anderem folgende beispielhafte Ausgabe sehen.

    Zitat
    Array (1)
    1432{1}136 => Array (2)
      qty => 1
      attributes => Array (1)
        1 => "136" Array

    Den beispielhaften Wert '1432{1}136' aus obiger Ausgabe fügst du nun in den folgenden Code an entsprechender Stelle ein, welchen du dann in die Datei templates/dein_template/module/shopping_cart.html einfügst.

    Code: PHP  [Auswählen]
    {if $smarty.session.cart->contents['1432{1}136'] && count($smarty.session.cart->contents) < 2}<h2 style="color:red;text-align:center">Artikel nicht einzeln bestellbar!</h2>{$BUTTON_CHECKOUT = ''}{/if}
     

    Obiges sollte bewirken, dass die if-Anweisung nur dann ausgeführt wird, wenn ein bestimmtes Produkt mit einer bestimmten Optionwertkombination als einziges im Warenkorb liegt.

    Gruss
    Hanspeter

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.988
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #13 am: 06. Juni 2019, 15:22:41
    ...wobei ich das
    Code: XML  [Auswählen]
    {$BUTTON_CHECKOUT = ''}
    für "hacky" halte.

    Das sollte man doch eher so machen
    Code: PHP  [Auswählen]
    {if $smarty.session.cart->contents['1432{1}136'] && count($smarty.session.cart->contents) < 2}
      <h2 style="color:red;text-align:center">Artikel nicht einzeln bestellbar!</h2>
    {else}
      {$BUTTON_CHECKOUT}
    {/if}

    bzw. für alle Buttons (nach Standard-Template):
    Code: PHP  [Auswählen]
    {if $smarty.session.cart->contents['1432{1}136'] && count($smarty.session.cart->contents) < 2}
      <h2 style="color:red;text-align:center">Artikel nicht einzeln bestellbar!</h2>
    {else}
      {if !isset($BUTTON_CHECKOUT_EXPRESS)}{if $BUTTON_PAYPAL != ''}<span class="paypal_button">  {$BUTTON_PAYPAL}</span>{/if}{/if}
      {if isset($BUTTON_CHECKOUT_EXPRESS)}<span class="express_button">{$BUTTON_CHECKOUT_EXPRESS}</span>{/if}
      {$BUTTON_CHECKOUT}
      {if isset($BUTTON_CHECKOUT_EXPRESS)}{if $BUTTON_PAYPAL != ''}<span class="paypal_button2">{$BUTTON_PAYPAL}</span>{/if}
    {/if}

    Außerdem sollte man, auch wenn man den Shop nicht mehrsprachig betreibt, den Text in /templates/DEIN_TEMPLATE/lang/lang_SPRACHE.custom definieren und den Platzhalter in der shopping_cart.html verwenden.

    Gruß,
    noRiddle

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Artikel nicht einzeln bestellbar machen
    Antwort #14 am: 06. Juni 2019, 20:03:22
    ...wobei ich das
    Code: XML  [Auswählen]
    {$BUTTON_CHECKOUT = ''}
    für "hacky" halte.
    [...]

    Sehe das Problem bezüglich "Hack" zwar nicht, aber man kann es natürlich auch streng nach "Vorschrift" hier -> https://www.smarty.net/docs/en/language.function.assign.tpl machen, dann sähe der Code z.B. so aus.

    Code: PHP  [Auswählen]
    {if $smarty.session.cart->contents['1432{1}136'] && count($smarty.session.cart->contents) < 2}
      <h2 style="color:red;text-align:center">Artikel nicht einzeln bestellbar!</h2>
      {assign var='BUTTON_CHECKOUT' value=null}
      {assign var='BUTTON_PAYPAL' value=null}
      {assign var='ACTIVATE_EXPRESS_LINK' value=null}
      {assign var='BUTTON_CHECKOUT_EXPRESS' value=null}
    {/if}
     

    Oder auch so.

    Code: PHP  [Auswählen]
    {if $smarty.session.cart->contents['1432{1}136'] && count($smarty.session.cart->contents) < 2}
      {assign var='TEXT_NICHT_EINZELN' value='<h2 style="color:red;text-align:center">Artikel nicht einzeln bestellbar!</h2>'}
      {assign var='BUTTON_CHECKOUT' value=null}
      {assign var='BUTTON_PAYPAL' value=null}
      {assign var='ACTIVATE_EXPRESS_LINK' value=null}
      {assign var='BUTTON_CHECKOUT_EXPRESS' value=null}
    {/if}  
    {$TEXT_NICHT_EINZELN}
     

    Gruss
    Hanspeter
    Managed Server
    1 Antworten
    355 Aufrufe
    28. September 2023, 11:41:45 von voodoopupp
    6 Antworten
    3655 Aufrufe
    17. Februar 2014, 17:41:49 von Riverside
    3 Antworten
    2961 Aufrufe
    17. April 2014, 09:40:05 von dmun