Shop Hosting
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: BETA MODUL: Gratisartikel im Warenkorb auswählen für modified eCommerce Shopsoftware

    kid77

    • Frisch an Board
    • Beiträge: 95
    Die Spalten und der Inhalt der Tabelle (das im Admin angelegte Gratisprodukt ab 159 Euro Bestellwert) siehe Anhang.

    Übrigens sind im ersten Posting noch fehlerhafte Anweisungen drin (betrifft vor allem die "shopping_cart.php"), auf die in darauf folgenden Postings hingewiesen wird. Wäre toll, wenn der Thread-Ersteller das mal ändern könnte. :)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Okay... also die Spalten sind auch angelegt worden... :-?

    Ich korrigiere erstmal die Anleitung in Beitrag 1 bezüglich der "/includes/classes/shopping_cart.php".

    Grüße

    Torsten

    kid77

    • Frisch an Board
    • Beiträge: 95
    So, nun funktioniert das Forum wieder und ich kann die Lösung meines Problems veröffentlichen. :)

    Ich hatte schlichtweg vergessen, die geänderte Datei "database_tables.php" hochzuladen.

    ABER: In früheren Postings dieses Threads wurden Probleme angesprochen, auf die ich nun auch treffe und die offensichtlich noch nicht gelöst wurden:

    1. Wenn ich einen Artikel im Warenkorb habe, der zu einem Gratisartikel berechtigt, kann ich im Warenkorb einen Gratisartikel aussuchen. Soweit funktioniert es. Doch sobald der Gratisartikel im Warenkorb liegt und ich den Hauptartikel rauslösche, bleibt der Gratisartikel für 0 Euro im Warenkorb.

    2. Wenn ich Artikeln den Status "Gratisartikel" gebe, verschwinden diese aus der normalen Artikelübersicht. In meinem Beispiel: Wenn jemand einen Sitzsack zu xxx Euro bestellt, bekommt er einen Extrabezug gratis dazu. Normalerweise kosten die Bezüge xx Euro und sind für diesen Preis auch im Shop zu haben - allerdings nicht mehr, wenn sie im Admin als Gratisartikel angeklickt sind. Wenn ich ihnen den Status "Gratisartikel" wieder entziehe, erscheinen sie wieder in der Artikelübersicht, doch für 0 Euro und nicht für xx Euro. Nun ließe sich das Problem umgehen, indem ich alle Bezüge noch einmal anlege und diese Artikel dann als Gratisartikel nutze. Ich denke aber, so ist es nicht gedacht.

    Any help?

    Kerstin

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Hallo,
    zu Punkt 1 könntest Du mal folgendes probieren..

    includes/modules/products_gift.php (neue Datei bei dem Modul)

    Suche:

    Code: PHP  [Auswählen]
                                    // Warenkorb prüfen

    füge davor ein:

    Code: PHP  [Auswählen]
                    elseif($_SESSION['cart']->in_cart($products_gift['products_id'])) {
                           $_SESSION['cart']->remove($products_gift['products_id']);
                    }

    Das ist ungetestet, bitte gib mir dazu mal eine Rückmeldung.

    Punkt 2 ist genau das was hier am meisten Änderungen durch das Modul hervorruft. Es werden alle Produkte ausgeblendet die als gratis Produkt eingestellt sind. Dies ließe sich umgehen, wenn man eine unsichtbare Kategorie für die Gratisprodukte erstellt welche einfach nur dorthin dupliziert werden müssen.

    Gruß

    h-h-h

    kid77

    • Frisch an Board
    • Beiträge: 95
    Funktioniert leider nicht. Wenn ich dann etwas in den Warenkorb lege, kommt diese Fehlermeldung:

    Code: PHP  [Auswählen]
    Parse error: syntax error, unexpected '}' in /www/htdocs/w00b8c5b/includes/modules/products_gift.php on line 87

    Der Code in der Datei sieht so aus:

    Code: PHP  [Auswählen]
    $order_now = '<a href="'.xtc_href_link(basename($PHP_SELF), 'action=products_gift&FREEproducts_id='.$products_gift['products_id'].'&'.xtc_get_all_get_params(array ('action')), 'NONSSL').'">'.xtc_image_button('button_buy_now.gif').'</a>';
                                            }
                                    }
                                    elseif($_SESSION['cart']->in_cart($products_gift['products_id'])) {
                           $_SESSION['cart']->remove($products_gift['products_id'])
                    }
                                    // Warenkorb prüfen

    In Zeile 87 steht die letzte }

    franky_n

    • Experte
    • Beiträge: 4.950
    Hallo kid77,

    bitte den Code immer mit PHP Button posten, das müsstest Du wissen bist lang genug dabei!  :whistle:
    Danke!

    Was hältst Du davon auch das Semikolon noch hinter diese Zeile zu machen?

    Code: PHP  [Auswählen]
                           $_SESSION['cart']->remove($products_gift['products_id'])

    Viele Grüße

    Franky

    kid77

    • Frisch an Board
    • Beiträge: 95
    Entschuldige bitte, aber ihr vergesst manchmal, dass einige hier keine Coder sind. Wenn jemand einen Code postet, übernehme ich den 1:1, weil ich es nicht besser weiß. Dein schnippisches "Was hältst du davon ..." finde ich da nicht angebracht.

    Wegen des vergessenen PHP-Buttons: I'm sorry für 1x Vergessen in der langen Zeit. ;)

    [EDIT Tomcraft 09.12.2011: Full-Quote entfernt, siehe: FAQ: Full-Quotes und Groß-/Kleinschreibung - mit anderen Worten Netiquette!]

    franky_n

    • Experte
    • Beiträge: 4.950
    Hi kid77,

    wenn Du das:

    [...] Dein schnippisches "Was hältst du davon ..." finde ich da nicht angebracht.
    [...]

    so auslegst ist das Dein Problem nicht meins! ;)

    Zu dem Code:
    Wenn man das beim Posten selber noch nicht sieht und es dann nicht editiert, hat man heute Morgen wohl noch nicht ausgeschlafen!  :ironie:

    Viele Grüße

    Franky

    kid77

    • Frisch an Board
    • Beiträge: 95
    So, nun funktioniert es. Danke für den Semikolon-Tipp.

    Wenn man den Hauptartikel löscht, bleibt der Gratisartikel zwar weiter im Warenkorb, aber sobald man zur Kasse geht, heißt es:

    Zitat
    Sie haben noch keinen Artikel in den Warenkorb gelegt.

    Wäre zwar schöner, wenn beim Löschen des Hauptartikels der Gratisartikel auch gelöscht wird, aber es scheint zumindest nicht möglich zu sein, den Gratisartikel allein zu kaufen.

    Das zweite Problem habe ich jetzt so gelöst wie von h-h-h vorgeschlagen - auch nicht sauber, aber machbar. :-)

    Jetzt muss ich nur noch die Unsauberkeiten im Warenkorb beseitigen. Der Bestellwert, ab dem es den Gratisartikel gibt, steht ja irgendwo und nicht da, wo er hin soll.

    Frage: Im Moment ist es so, dass die Auflistung der möglichen Gratisartikel so aussieht wie beim Cross Selling (in meinem Fall recht großes Bild links, daneben etwas Text. Da ich ca. 20 Gratisartikel auflisten will, wird die Liste sehr lang. Ich hätte da gern eine Optik wie beim "product_listing" (in meinem Fall 3 Spalten mit Bildern und darunter der Title des Artikels). Sind dafür große Änderungen nötig?

    franky_n

    • Experte
    • Beiträge: 4.950
    Hallo kid77,

    die Darstellung sollte man genauso umbauen können wie Du bereits gemacht hast mit der "product_listing" lediglich dann in der "/templates/xtc5/module/products_gift.html".

    Viele Grüße

    Franky

    kid77

    • Frisch an Board
    • Beiträge: 95
    Prima. Schau ich mir in Ruhe an.

    Wofür ist eigentlich die "order_details.html.optional.txt" im selben Ordner?

    kid77

    • Frisch an Board
    • Beiträge: 95
    So, nochmal ich. Hab weiter getestet und festgestellt:

    Ich habe mehrere Artikel im Warenkorb, sodass deren Summe den Mindestbestellwert für den Gratisartikel erreicht. Ich wähle den Gratisartikel und er wandert in den Warenkorb. Ich reduziere die Artikel im Warenkorb, sodass deren Summe den Mindestbestellwert für den Gratisartikel NICHT MEHR erreicht. Der Gratisartikel bleibt drin. Soweit analog wir oben beschrieben. Da aber noch normale Artikel im Warenkorb verblieben sind, kann ich natürlich zur Kasse gehen. Das funktioniert bis zu dem Schritt, wo ich die Zahlart auswähle. Wenn ich dann auf "weiter" klicke, passiert nichts mehr.

    Klicke ich dann in der Navigation auf Warenkorb und gehe dann weiter, klappt alles. Da hakt es einfach immer noch wegen des Gratisartikels.

    2. Frage: Wie muss ich die "products_gift.html" ändern, damit der Mindestbestellwert für den Gratisartikel direkt hinter dem Text erscheint, den man in der "/lang/german/german.php" hinterlegt hat. Bei mir steht dort im Moment:

    Code: PHP  [Auswählen]
    define('PRODUCTS_GIFT_INFOTEXT','<strong><font color="#ff7e00">Ab folgender Bestellsumme erhalten Sie einen Gratis-Bezug:</strong>');

    Im Shop folgt daraufhin eine Leerzeile und der Mindestbestellwert klebt linksbündig über Bild des ersten Gratisartikels. Er soll aber direkt hinter "... erhalten Sie einen Gratis-Bezug:" erscheinen.

    Und darunter am besten eine Zeile in größerer Schrift:

    Zitat
    Bitte wählen Sie einen der folgenden Gratis-Artikel aus:

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    [...]
    Wofür ist eigentlich die "order_details.html.optional.txt" im selben Ordner?

    Die Datei gibt es in modified eCommerce Shopsoftware gar nicht. Die liegt vermutlich nur als optionale Variante in deinem Template dabei.

    Grüße

    Torsten

    kid77

    • Frisch an Board
    • Beiträge: 95
    Nee, liegt nicht dem Template, sondern dem Modul bei.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Ah okay... hab noch nicht rein geschaut ins Modul. ;-)

    Grüße

    Torsten
    8 Antworten
    10241 Aufrufe
    23. April 2013, 17:04:25 von DerBaumeister
    34 Antworten
    22895 Aufrufe
    18. Januar 2015, 16:26:18 von Bonsai
    106 Antworten
    53806 Aufrufe
    06. März 2021, 19:27:04 von awids
    9 Antworten
    3351 Aufrufe
    04. Januar 2019, 17:14:15 von Shorty
               
    anything