Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 22, 2012, 06:40:47

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  Shopbetrieb
| | |-+  echtes GUTHABENKONTO bauen
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: echtes GUTHABENKONTO bauen  (Gelesen 1222 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: November 15, 2008, 08:22:17 »

Hallo,

hab ich schon mal erwähnt, daß mit ShopPilot ALLES realisierbar ist?    Wink

Aufgabe:
Ein GUTHABENKONTO für Kunden einrichten
das funktioniert so, daß man einem registrieten Kunden ein Guthaben zuschreiben kann
(z.B. den Betrag für Rücksendungen, "Provisionen", oder was auch immer)
Dieses Guthaben wird dann von der aktuellen Bestellung abgezogen.
Macht die Bestellung weniger aus als das Guthaben, wird das Guthabenbudget natürlich automatisch aktualisiert bzw gelöscht wenn es verbraucht ist.

Lösung:
zwei benutzerdefinierte Kundenfelder anlegen
GUTSCHTEXT -> hier kommt der Text rein
GUTSCHBETR -> hier kommt der Betrag rein

Code in stdall.ipl:
Code:
<!--spmacro:module(show)
sub gutschrift {
my $out;
my $out2;
   my $kdnr = ssp::get_var_user("kundennr");
my $gstext =  ssp::get_var_user('GUTSCHTEXT');
my $pre = ssp::db_get_prefix();
my $USR = $pre . "USR";
ssp::readSQLData(qq|SELECT GUTSCHBETR FROM $USR WHERE KUNDENNR = '$kdnr'|, "GUTSCHBETR");
my $wert =  ssp::get_var_db('GUTSCHBETR',0);
$wert = 0 if ($wert eq $ssp::undefined);
$wertanz = main::fp($wert);
my $rbetr = ssp::get_wktotalsum ();
my $rest = $wert - $rbetr;
if ($rest < 0) {$rest = 0}
my $showrest = main::fp($rest);
if ($rest > 0) {$out2 = qq|
<tr>
<td colspan="6" class="mindertext" style="border:none;">Restguthaben</td>
<td colspan="2" class="mindertext" style="padding-right:15px;" nowrap bgcolor="#FEF7FE"> $showrest</td>
</tr>
|;
}

my $showrbetrneu = $rbetr-$wert;
if ($showrbetrneu < 0) {$showrbetrneu = 0;}
$showrbetrneu = main::fp($showrbetrneu);
 if ($wert > 0) { $out = qq|
<input type="hidden" name="gseingeloest" value="$rest">
<tr>
<td colspan="6" class="mindertext" style="border:none;">$gstext</td>
<td colspan="2" class="mindertext" style="padding-right:15px;" nowrap bgcolor="#FEF7FE"> $wertanz</td>
</tr>
<tr>
<td colspan="6" class="mindertext" style="border:none;">Rechnungsbetrag NEU</td>
<td colspan="2" class="mindertext" style="padding-right:15px;" nowrap bgcolor="#FEF7FE"> $showrbetrneu</td>
</tr>
$out2
|;
main::mprint $out;
}
}
-->

der HTML-Teil muß natürlich angepasst werden

Im WK, auf den Bestelldatenvorlagen und im Mail an Händler mit  __show::gutschrift__  ausgeben.
(wird nur angezeigt, wenn es auch ein Guthaben für diesen Kunden gibt)

Damit dieses Gutschriftfeld bei Bestellungen auch in der DB aktualisiert wird auf der Meldungsseite "Bestellung OK" diesen Code im Headbereich eintragen
Code:
<!--spmacro:module(gutschrift)
sub aktualisieren {
my $pre = ssp::db_get_prefix();
my $USR = $pre . "USR";
my $kdnr = ssp::get_var_user("kundennr");
my $sgrest = ssp::qform(ssp::get_var_form('gseingeloest')) ;
if ($sgrest ne 'undefined') {
my $sql = qq|UPDATE  $USR SET GUTSCHBETR = "$sgrest" WHERE KUNDENNR = $kdnr|;
ssp::exec_sql($sql, 1);
ssp::db_update_usr($kdnr,"GUTSCHBETR",$sgrest)
}
}
-->
__gutschrift::aktualisieren__

und das war's schon  Cheesy
Mit "Daten einlesen" ist der aktuelle Stand des Kundenguthabens auch im WC

Jetzt möchte ich noch eine Funktion bauen, mit der der Kunde selber Gutscheinbeträge auf sein Guthabenkonto buchen kann
(so wie man das bei Amazon machen kann)
hier beschrieben: http://www.shoppilot.net/pf/shopbetrieb/gutschein_auf_guthabenkonto_buchen-t1340.0.html;msg4790#msg4790

Achtung: bei Verwendung von Zahlartschnittstellen wie z.B. Sofortüberweisung wird das Guthaben nicht berücksichtigt!
(dafür wäre ein anderes Script nötig)
« Letzte Änderung: Dezember 13, 2009, 10:31:16 von dobra » Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS