Shop-Modul: Absender Bestell-E-Mail / Anzeige Warenkorb / Versandkosten

  • Liebe Zeta-Entwickler,


    bei meinen nächsten Geh-Versuchen mit dem Shop-Modul sind mir weitere Dinge aufgefallen:


    1) Bei der Bestätigung der Bestellung werden durch das Modul zwei E-Mails generiert: An den Shop-Betreiber und an den Besteller. Die E-Mail an den Shop-Betreiber besitzt zur Zeit als Absender die E-Mail-Adresse aus der ZP-Shop-Konfiguration. Da aber die E-Mail-Adresse des Bestellers zu diesem Zeitpunkt vorliegt, wäre es wünschenswert, diese als Absender des Bestell-E-Mails zu verwenden (bspw. kann diese als Antwort-Mail für den Versand eines Bestell-Artikels verwendet werden). Dafür sind nur ein paar kleine Anpassungen in der classes-Datei 'shopmanager.php' notwendig, z.B.


    Zeile 94:


    ALT: $header .= 'From: ' . Configuration::$conf_shopname . "<" . Configuration::$conf_shopemail . ">\r\n";
    NEU: $header .= 'From: ' . $name . "<" . $email . ">\r\n";


    Zeilen 101-104 (NEU einfügen):


    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";


    $header .= 'From: ' . Configuration::$conf_shopname . "<" . Configuration::$conf_shopemail . ">\r\n";


    2) Gerne möchte ich wie im Demo-Shop in jedem Seitenkopf den Text ausgeben "Mein Warenkorb: x Artikel (x,xx EUR)", jedoch nur dann, wenn schon mindestens ein Bestell-Artikel im Warenkorb liegt. Dies ist bereits in einem Postkurz angesprochen, jedoch nicht weiter detailliert worden. Könntet Ihr hierfür einen Tipp geben (z.B. vermutlich eine Änderung der Vorlage default.html).


    3) Die jetzige Lösung der Versandkosten birgt eine Ungenauigkeit für den Fall, dass mehrere oder auch unterschiedliche Produkte bestellt werden. Wenn eine größere Menge in den Warenkorb eingestellt wird, wird weiterhin der in der Shop-Konfiguration eingestellte Betrag für die Versandkosten verwendet. Das ist problematisch. Zur Zeit könnte man also nur mit einer Mischkalkulation arbeiten, was aber für kleinere Bestellung zu hohen Versandkosten führt. Könntet Ihr Euch eine Versandkosten-Regel vorstellen, die hinter jedem Bestell-Artikel abgelegt wird? Eine solche Regel könnte z.B. einen Bestellwert abfragen und ggfs. auch, ob die Regel pro Warenkorb oder unterschiedlichem Bestell-Artikel angewendet wird.


    Ich freue mich auf Eure wie immer hilfreichen Rückmeldungen,
    Sebastian

  • Hallo Sebastian,


    erst mal wieder danke für deinen schön detaillierten Post. Das ist ungemein hilfreich um schnell und gezielt helfen zu können :-)


    zu 1) Deine Idee macht durchaus Sinn und würde sicher das Ganze etwas komfortabler machen. Allerdings ist unsere Umsetzung so wie sie ist voll und ganz beabsichtigt. Hintergrund ist, daß manche Server überprüfen ob eine E-Mail auch tatsächlich vom angegebenen Absender-Server kommt. Ist dem dann z.B. nicht so, wird die E-Mail entweder gar nicht erst bearbeitet oder landet im Spam-Ordner. Deine Umsetzung wird also unter Umständen manchmal nicht richtig funktionieren.


    zu 2) Um generell auf deiner Website den aktuellen Warenkorb-Inhalt wie im Demoshop anzuzeigen mußt du in der Tat Änderungen der default.html vornehmen. Dies ist jedoch mit ein wenig HTML-Kenntnissen sehr einfach. Du mußt lediglich an der gewünschten Stelle folgenden Platzhalter einfügen:


    #text(BasketContentSummary)


    Danach die Website neu erstellen und veröffentlichen. Fertig. Den Warenkorb-Inhalt nur anzuzeigen wenn auch tatsächlich Artikel im Warenkorb sind, ist leider nicht möglich.


    zu 3) Dieser Feature-Wunsch ist nun schon öfters aufgetaucht und auch bereits in unserem System erfasst. Eventuell wird es in kommenden Versionen des Shop-Moduls die Möglichkeit geben, z.B. verschiedene Versandkosten / Versandgruppen zu hinterlegen, welche dann wiederum im Bestellartikel angegeben werden können.


    Ich hoffe ich konnte dir wieder mal behilflich sein.



    Gruß


    Daniel (zeta software GmbH)

  • Hallo Daniel,


    herzlichen Dank für die bewährte, schnelle Antwort.


    1) hier werde ich Deine Empfehlung aufnehmen und die Absender-E-Mail aus der Shop-Konfiguration beibehalten.
    2) habe ich eingebaut. Schade, dass es nicht geht, den Warenkorb nur dann anzuzeigen, wenn tatsächlich ein Bestell-Artikel enthalten ist. Das würde ich mir für die Zukunft wünschen.


    Für Interessierte hier das Coding in default.html (ab Zeile 66) für eine Anzeige Unterhalb des Extra-Menüs:


    <div id="xmenu">
    <$ if Context.Scope.CurrentPage.GetInheritedAttribute("extramenu_1").Value <> "" then $><a href="#attribute(extramenu_url_1)">#attribute(extramenu_1)</a><$ end if $>
    <$ if Context.Scope.CurrentPage.GetInheritedAttribute("extramenu_2").Value <> "" then $>&nbsp;|&nbsp;<a href="#attribute(extramenu_url_2)">#attribute(extramenu_2)</a><$ end if $>
    <$ if Context.Scope.CurrentPage.GetInheritedAttribute("extramenu_3").Value <> "" then $>&nbsp;|&nbsp;<a href="#attribute(extramenu_url_3)">#attribute(extramenu_3)</a><$ end if $>
    #text(BasketContentSummary)
    </div>


    3) Gut, dass der Wunsch auch schon von anderer Seite kam. Hier halte ich eine Änderung dringend für erforderlich. Vorher werde ich wohl nicht von Test- auf Live-Modus umstellen.


    Besten Dank und viele Grüße,
    Sebastian

  • Hallo,


    für die Übergangszeit bis hoffentlich eine überarbeitete ZP-Funktionalität zur Berechnung der Versandkosten zur Verfügung steht, habe ich der Einfachheit halber eine kleine Abfrage eingebaut. Die Regel lautet dabei:


    Bestellwert < 20 EUR, dann fixe Versandkosten aus ZP Onlineshop-Konfiguration übernehmen, sonst Versandkosten = 0 EUR.


    Hierzu ist lediglich eine kleine Coding-Änderung im Template 'articletable.php' (ab Zeile 53) notwendig, bspw.


    NEU: if ($total_sum < 20)
    NEU: {
    ALT: if ($this->_['conf_shippingCosts'] > 0)
    ALT: {
    ALT: echo '<tr class="zpSO-OnlineShop-row1">';
    ALT: ...
    ALT: echo '</tr>';
    ALT: }
    NEU: }


    Viele Grüße,
    Sebastian