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

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
| | |-+  Zahlart ausschließen
0 Mitglieder und 2 Gäste betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Zahlart ausschließen  (Gelesen 1053 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: August 19, 2009, 21:37:10 »

Hallo,

Irgendetwas mache ich falsch und finde den Fehler nicht  Undecided

Bei Kauf von bestimmten Produkten soll die Zahlart Rechnung (bei mir ID 5) ausgeschlossen werden.
mit XZAHLARTEX und mit eingtragener 5 in diesem Feld wird "Rechnung" eingeblendet, egal ob dieser Artikel in WK liegt oder nicht.

2. Versuch
Code:
<!--spmacro:module(Callback)
sub exclude_zahlart {

my $index = $_[0];
my $anzahl = $_[1];
   if ($index <= $anzahl) {
for ($i=0;$i<=$anzahl;$i++) {
my $wert = ssp::get_var_cart('ESDFILE',$i);
if (length($wert)) {
return 5; # ID für Rechnung ist 5
} else {
return "";
}
}
}
}
-->
auch hier wird die Option "Rechnung" nach wie vor eingeblendet
($wert wird aber korrekt ausgelesen und mit
Code:
<!--spmacro:module(show)
sub download {
my $index = shift;
my $wert = ssp::get_var_cart('ESDFILE',$index);
if (length($wert)) {
main::mprint ($wert);
}
}
-->
auch im WK bei DEN Artikeln auf die die Bedingung zutrifft, ausgegeben.

Es geht hier um Varianten - beide Felder "auch für Varianten" angelegt.
zum Testen habe ich es aber auch mit Artikeln versucht - selbes Ergebnis = alle Zahlungsoptionen stehen zur Auswahl

Was habe ich übersehen?
bzw. WIE kann ich erreichen, das die Zahlart "Rechnung" nicht mehr zur Verfügung steht, sobald ein Artikel bei dem im Feld ESFILE etwas eingetragen ist oder "5" im XZAHLARTEX-Feld steht, im WK liegt?
Gespeichert

admin
Administrator
Sr. Member
*****

Lob: 9
Offline Offline

Beiträge: 443


« Antwort #1 am: August 20, 2009, 10:59:01 »

Hallo Dobra,

der Callback Funktion "exclude_zahlart" werden keine Parameter mitgegeben.
Insofern ist $anzahl und $index Null.

Stattdessen muss die Anzahl der Positionen im WK mit  ssp::get_cart_items() ermittelt werden und als Obergrenze der for-Schleife dienen.

Gruss hop

Gespeichert
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« Antwort #2 am: August 20, 2009, 11:05:00 »

Danke
- darauf hätte ich eigentlich selber können sollen  Wink

falls das mal jemand braucht - so funktioniert's:
Code:
<!--spmacro:module(Callback)
sub exclude_zahlart {
my $wert;
my $anzahl = ssp::get_cart_items();
for ($i=0;$i<=$anzahl;$i++) {
$wert = ssp::get_var_cart('ESDFILE',$i);
if (length($wert)) {
return 5; # ID für Rechnung ist 5
}
}
}
-->

Nachtrag: wenn man mehrere Zahlarten ausschließen will, müssen die IDs mit Komma getrennt und in " " geschrieben werden
also: return "1,2,5";
(Danke hop)
« Letzte Änderung: August 20, 2009, 12:22:32 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