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: Nicht registrierte Benutzer dürfen keine Artikel in Warenkorb legen

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    01:25  :-o Wow

    Das was ich haben möchte kann die Shop-Software eigentlich schon!
    Da ich im Admin bei den Kunden Details die "Art der Kontenerstellung" auf "account" gestellt habe sieht der Gast den Button "In den Warenkorb" und kann diesen auch nutzen.
    Wenn er dann aber auf den "Kassenbutton" klickt landet er eben auf dieser LogIn bzw. Registrierungsmaske.
    Das funktioniert tadellos  :-) und eigentlich wäre mein Wunsch hier erfüllt!
    Eigentlich...., wenn da nicht noch der "PayPal Express Button" im Warenkorb lauern würde  :-O
    Klickt der Gast den an entfleucht er der Shop-Routine, landet bei PayPal und kann somit den Artikel kaufen ohne sich anzumelden oder zu registrieren. Das sollte aber nicht sein.
    Den PayPal Button zu entfernen halte ich für keine gute Idee, deshalb möchte ich den Button "In den Warenkorb" für Gäste präparieren.
    Diese Funktion vom "Kassenbutton" auf den "In den Warenkorb" Button zu übertragen ist nicht einfach möglich?

    Herr_Bert

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Auf deine letzte Frage bezogen: Möglich ist alles, aber eben nicht "einfach" im Template in diesem Fall.

    Warum umgibst du den PayPal-Express-Button nicht auch hiermit ?
    Code: XML  [Auswählen]
    {if $smarty.session.customer_id}
    {$BUTTON_PAYPAL}
    {/if}
    Dann ist er nur sichtbar wenn man eingeloggt ist.

    Oder so
    Code: XML  [Auswählen]
    {if $smarty.const.ACCOUNT_OPTIONS == 'both' || $smarty.const.ACCOUNT_OPTIONS == 'account'}
    {$BUTTON_PAYPAL}
    {/if}
    Dann ist die Anzeige abhängig von deinen Backend-Einstellungen bei "Art der Kontoerstellung" und du könntest es irgendwann mal ändern ohne in den Code des Templates zu gehen.

    Gruß,
    noRiddle

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Guten Morgen und besten Dank für die Antwort,

    mein Favorit ist der erste Code. Habe gleich mal versucht ihn in der shopping_cart.php einzubauen indem ich die Zeile 248
    Code: PHP  [Auswählen]
    $smarty->assign('BUTTON_PAYPAL', $o_paypal->build_express_checkout_button());
    mit
    Code: PHP  [Auswählen]
    {if $smarty.session.customer_id}{$BUTTON_PAYPAL}{/if}, $o_paypal->build_express_checkout_button());
    ersetzt habe.
    Da habe ich wohl etwas naiv gedacht, :hust: (nicht lachen) das gab dann gleich mal eine weiße Seite mit dem Hinweis dass in der Zeile 248 was nicht richtig ist  :-(
    Kann bitte mal jemand meine Bastelei entsprechend korrigieren und ist die shopping_cart.php überhaupt die richtige Datei  :-?

    Dankeschön
    Herr_Bert

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Du fasst gar keine PHP-Datei an, mein Code bezieht sich auf die Template-Datei /module/shopping_cart.html.
    Außerdem ist der zweite Code der bessere weil es dich flexibel lässt.

    Meine Aussage 'Auf deine letzte Frage bezogen: Möglich ist alles, aber eben nicht "einfach" im Template in diesem Fall.' bezog sich auf deine letzte Frage in dem Post davor.

    Gruß,
    noRiddle

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Hallo noRiddle,
    besten Dank für deine Hilfe und natürlich für die Geduld mir etwas beizubringen!
    Ich bin jetzt in der richtigen Datei und habe auch die entsprechende Zeile gefunden.
    Code: PHP  [Auswählen]
    {if $BUTTON_PAYPAL!=''}<div class="buttons_checkout">{$BUTTON_CHECKOUT}<br/><br/>{$BUTTON_PAYPAL}</div>{else}<div class="buttons_checkout">{$BUTTON_CHECKOUT}</div>{/if}
    Aber es gelingt mir einfach nicht die so zu präparieren das der PayPal Button für nicht angemeldete Kunden unsichtbar wird  :-I
    Ich habe versucht diese
    Code: PHP  [Auswählen]
    {if $smarty.const.ACCOUNT_OPTIONS == 'both' || $smarty.const.ACCOUNT_OPTIONS == 'account'}
    {$BUTTON_PAYPAL}
    {/if}
    Variante einzuarbeiten, aber entweder ist der Button sichtbar oder ich bekomme Furchterregende Fehlermeldungen  :-o
    Wie füge ich denn beide Zeilen richtig ineinander?

    Herr_Bert

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Ich hab's leider nicht getestet und ja auch nicht richtig durchdacht, sorry.
    Versuch's mal so:
    Code: XML  [Auswählen]
    {if $smarty.const.ACCOUNT_OPTIONS == 'account'}
      {if $smarty.session.customer_id}
      {$BUTTON_PAYPAL}
      {/if}
    {elseif $smarty.const.ACCOUNT_OPTIONS == 'guest' || $smarty.const.ACCOUNT_OPTIONS == 'both'}
      {$BUTTON_PAYPAL}
    {/if}

    Gruß,
    noRiddle

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Jipiiie, das funktioniert schon fast...,
    nur das der blaue Button "Überweisung/Barzahlung" (Kasse) jetzt auch weg ist, der könnte / sollte aber bleiben weil der beim anklicken auf die Anmeldemaske verweist.
    Wie kann ich den den ausklammern?

    Herr_Bert

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Poste mal deinen Code, sonst wird der Thread noch ein paar Meter länger ;-).
    Du hast mit Sicherheit die if-else-Konstruktion verkehrt gemacht.

    Gruß,
    noRiddle

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Gerne, so sieht die ganze shopping_cart.html aus:
    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="shopping_cart"}
    <h1>{#heading_cart#}</h1>
    <div class="content_area">
    {if $info_message!=''}<div class="errormessage">{$info_message}</div>{/if}
    {if $cart_empty==true}
    <p>{#text_empty#}</p>
    <p>{$BUTTON_CONTINUE}</p>
    {else}
    {$FORM_ACTION}
    {$HIDDEN_OPTIONS}
    <p>{$MODULE_order_details}</p>
    {if $info_message_1!=''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}</div>{/if}
    <div class="button_frame">
    {if $CONTINUE_LINK}<div class="buttons_checkout"><a href="{$CONTINUE_LINK}">{$BUTTON_CONTINUE_SHOPPING}</a>&nbsp;</div>{/if}
    <div class="buttons_checkout">{$BUTTON_RELOAD}&nbsp;</div>
    {if $smarty.const.ACCOUNT_OPTIONS == 'account'}
      {if $smarty.session.customer_id}
      {$BUTTON_PAYPAL}
      {/if}
    {elseif $smarty.const.ACCOUNT_OPTIONS == 'guest' || $smarty.const.ACCOUNT_OPTIONS == 'both'}
      {$BUTTON_PAYPAL}
    {/if}
    {$FORM_END}{/if}
    </div>
    <div style="clear:both"></div>
    {$MODULE_gift_cart}
    </div>

    Herr_Bert

    • Fördermitglied
    • Beiträge: 756
    • Geschlecht:
    Aaaah, jetzt habe ich dich verstanden  :-D
    So

    Code: PHP  [Auswählen]
    {config_load file="$language/lang_$language.conf" section="shopping_cart"}
    <h1>{#heading_cart#}</h1>
    <div class="content_area">
    {if $info_message!=''}<div class="errormessage">{$info_message}</div>{/if}
    {if $cart_empty==true}
    <p>{#text_empty#}</p>
    <p>{$BUTTON_CONTINUE}</p>
    {else}
    {$FORM_ACTION}
    {$HIDDEN_OPTIONS}
    <p>{$MODULE_order_details}</p>
    {if $info_message_1!=''}<div class="errormessage">{$info_message_1}{$min_order}{$info_message_2}{$order_amount}</div>{/if}
    <div class="button_frame">
    {if $CONTINUE_LINK}<div class="buttons_checkout"><a href="{$CONTINUE_LINK}">{$BUTTON_CONTINUE_SHOPPING}</a>&nbsp;</div>{/if}
    <div class="buttons_checkout">{$BUTTON_RELOAD}&nbsp;</div>
    {if $BUTTON_PAYPAL!=''}<div class="buttons_checkout">{$BUTTON_CHECKOUT}<br/><br/>{if $smarty.const.ACCOUNT_OPTIONS == 'account'}
      {if $smarty.session.customer_id}
      {$BUTTON_PAYPAL}
      {/if}
    {elseif $smarty.const.ACCOUNT_OPTIONS == 'guest' || $smarty.const.ACCOUNT_OPTIONS == 'both'}
      {$BUTTON_PAYPAL}
    {/if}</div>{else}<div class="buttons_checkout">{$BUTTON_CHECKOUT}</div>{/if}
    {$FORM_END}{/if}
    </div>
    <div style="clear:both"></div>
    {$MODULE_gift_cart}
    </div>

    sieht jetzt der Code aus!
    Hatte vorher gleich die ganze Zeile mit deinem Code ersetzt, da habe ich vergessen mein Hirn einzuschalten  :-/

    Jetzt funktioniert alles peeeerfekt, vielen Dank dafür  :thx:

    Ach, eins noch:
    Deine Idee den PayPal-Button so zu behandeln ist wirklich gut, daran habe ich gar nicht gedacht  :thumbs: ein extra Dankeschön dafür!!

    Herr_Bert
    17 Antworten
    12382 Aufrufe
    04. September 2010, 16:52:05 von franky_n
    0 Antworten
    269 Aufrufe
    28. Februar 2024, 16:26:00 von estrich
    0 Antworten
    2487 Aufrufe
    14. Juni 2011, 16:16:36 von clausf
    19 Antworten
    1533 Aufrufe
    16. Juni 2024, 08:18:51 von voodoopupp