Hallo,
ich möchte in Virtuemart die Zahlungsart "Nachnahme" nur für Kunden aus Deutschland anbieten. Ist das möglich?
Gruss
TAIKO
Hallo,
ich möchte in Virtuemart die Zahlungsart "Nachnahme" nur für Kunden aus Deutschland anbieten. Ist das möglich?
Gruss
TAIKO
Geändert von TAIKO (26.05.2006 um 11:34 Uhr)
Hi, willkommen
Ja dass geht. mach einfach ne neue versandart: nachname und dann Rabatt minus...Euro. Dann einfach nur DE wählen.
Gruss, BigBang
[ Webdesign & Publishing CMS Joomla ] - [ Naturkosmetik Rohstoffe & ätherische Öle ] - [ zertifizierte Naturkosmetik eco bio label ]
Hallo Bigbang,
das habe ich nicht ganz verstanden. Um eine neue Zahlungsart "Nachname" zu erstellen soll ich eine Versandart erstellen?
Wenn ich das so mache, müsste der Kunde bei der Bestellung in Schritt zwei bei der Versandart sich entscheiden für z. B.OK und im 3. Bestellschritt bei der Auswahl der Bezahlungsart, was soll der Kunde dort angeben? Hier muss er ja eine Zahlungsart auswählen. Egal ob er vorher bei der Bestellung per Nachname oder nicht ausgewählt hat.
- DHL Deutschland bis 10 KG 10,50
DHL Deutschland bis 10 KG per Nachname 12,50
Oder meintest Du eine neue Zahlungsart anlegen? Weil hier kann ich einen Rabatt einstellen aber kein Land auswählen.
Gruss
TAIKO
Anderer Ansatz: Erstelle eine neue Kundengruppe (z.B. germanShopper).
Dann die Zahlungsart Nachnahme dieser (und nur dieser!) Kundengruppe zuordnen.
Neukunden werden bei der Erstbestellung von VM automatisch bekanntlich der Kundengruppe -default- zugeordnet.
Dies sollte nun sinnvollerweise geändert werden.
Also: die ../classes/ps_shopper.php editieren, nach der Methode function add( &$d ) suchen - dort die Stelle:
suchen und danach einfügen:PHP-Code:// Insert Shopper -ShopperGroup - Relationship
$q = "SELECT shopper_group_id from #__{vm}_shopper_group WHERE ";
$q .= "`default`='1' ";
$db->query($q);
if (!$db->num_rows()) { // take the first in the table
$q = "SELECT shopper_group_id from #__{vm}_shopper_group";
$db->query($q);
}
$db->next_record();
Jetzt werden alle Kunden, die bei Land 'Deutschland' wählen automatisch der Gruppe 'germanShopper' zugeordnet und sehen später die für sie möglichen Zahlungsarten ...PHP-Code:if( $d["country"]=='DEU')
$d['shopper_group_id'] = '8'; // die shopper_group_id fuer deine neue Kundengruppe (nachsehen)
else
$d['shopper_group_id'] = $db->f("shopper_group_id");
![]()
mfG
dot°NETt
Die Loesung ist echt genial. Leider klappt das bei mir nicht! Die shopper group ist wirklich die Nr. 2 (die 1 ist der default shopper group) - hab ich was uebersehen?
PHP-Code:$db->query($q);
if (!$db->num_rows()) { // take the first in the table
$q = "SELECT shopper_group_id from #__{vm}_shopper_group";
$db->query($q);
}
$db->next_record();
if( $d["country"]=='DEU')
$d['shopper_group_id'] = '2'; // die shopper_group_id fuer deine neue Kundengruppe (nachsehen)
else
$d['shopper_group_id'] = $db->f("shopper_group_id");
$customer_nr = uniqid( rand() );
$q = "INSERT INTO #__{vm}_shopper_vendor_xref ";
Bist du dir sicher?
Schau' mal in die Tabelle #__{vm}_shopper_group (z.B. mit phpMyAdmin).
Die 'deafult'-Group hat (bei Standardinstallationen) immer die shopper_group_id '5'.
Da dieses Feld auto_increment ist, können selbst angelegte Gruppen nur eine shopper_group_id>5 haben [Genau genommen ist die shopper_group_id für selbst angelegte Gruppen deshalb >=8, da bereits 3 Gruppen (bei Standardinstalltionen) angelegt werden].
mfG
dot°NETt
dot°NETt Du bist genial - ich hatte natuerlich die ID aus der Joomla Administration genommen (die zahl vor der kundengruppe) ... ES FUNKTIONIERT! DANKE!
mfg Herr Kolb
hallo zusammen!
ich würde auch gern diese wunderbare lösung von dot°NETt nutzen, komme aber irgendwie nicht zu einem erfolg.
ich habe eine shopper_group schweizershopper eingerichtet (group id 8) und möchte gern, dass alle kunden aus der schweiz sofort in diese gruppe einsortiert werden. doch leider werden die schweizer immer noch in die default group einsortiert.
hab ich irgendwas übersehen?PHP-Code:if( $d["country"]=='CHE')
$d['shopper_group_id'] = '8';
else
$d['shopper_group_id'] = $db->f("shopper_group_id");
dankbar für alle tipps,
tyranni
ich bin ein blindfisch!!!
hatte folgende zeile vergessen zu entfernen
MENNO! (wie der westfale sachtPHP-Code:$d['shopper_group_id'] = $db->f("shopper_group_id");
)
ich liebe es, wenn dinge funktionieren! ganz lieben dank nochmal für diese wunderbare lösung an dot°NETt. fühl dich gedrückt!
liebe grüße,
tyranni
darf ich hier anknüpfen?
Wie muß denn der Code lauten, wenn ich von vornherein alle Kunden in verschiedene "Ländergruppen"
(swissShopper, usShopper, etc.) sortieren will? Mit einem einfachenist es wohl nicht getan, oder?PHP-Code:else
Danke für Eure Hilfe!
Lesezeichen