invoice_addpos_final

Begonnen von mt, Juli 16, 2008, 10:43:02

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

wenn Du z.B. die Auswahl als Radio hast
<input type="radio" name="Lieferart" value="Dropshipping "> Dropshipping

ssp::cart_write_var('Lieferart');

auslesen mit
ssp::cart_read_var('Lieferart');

mfG
dobra

mt

AH! Verstanden! Danke! :D

Viele Grüße
mt

mt

Hallo,

irgendwie weiß ich nicht, wie ich im Warenkorb über ein separates Formular mein Flagfeld an den WK übergebe.
Welche Formular-Action muss ich denn nehemen, damit der Warenkorb meine Übergabe registriert?
Für den Warenkorb selbst ist ja nur eine begrenzte Anzahl an von Actions möglich (chgcart, placecart,showcart,delwk etc...)

Der Warenkorb bekommt einfach nichts von meinem Select-Feld mit und in meiner Hilfe (2.80) und auch in der
SSP-Hilfe (2.80) ist nicht über 'ssp::cart_write_var' zu finden. Habe sogar bei Shoppilot.de nachgeschaut.

Gruß
mt

dobra

eine Möglichkeit wäre das mit JS zu machen

<form method="post" name="test" action="http://__xxpath__?placecart,__xxsession__">
<input type="radio" name="Lieferart" value="Dropshipping " onclick="javascript:document.all.test.submit()"> Dropshipping
</form>

sobald jemand den Radiobutton anklickt, wird das Formular abgeschickt -> der WK wieder neu aufgerufen -> das
ssp::cart_write_var('Lieferart'); sollte ausgeführt werden.

Allerdings solltest Du dann noch einbauen, daß die Radiobox beim neu laden markiert bleibt.

Kann das gerade nicht testen und weiß ja auch nicht, WIE Du das Auswählen der Lieferart realisiert hast.
mfG
dobra

mt

Hatte das schon mit 'http://__xxpath__?placecart,__xxsession__' probiert.
Mein Formularwert wurde trotzdem ignoriert.

Habe es gleich unter der Liferzonen/Zahlungsart-Auswahl

Ich nehme übrigens ein Select-Feld mit dem Wert Dropshipping Ja/Nein.

Gruß
mt

dobra

#20
Hallo mt,

hab Dir jetzt mal ein fertiges Script gebaut - bitte direkt in die WK-Seite schreiben.

<!--spmacro:module(check)
sub lieferart {
my $wert = ssp::qform(ssp::get_var_form('test'));
     ssp::cart_write_var('Lieferart', $wert);

}
  sub selected {
  my $janein = ssp::cart_read_var('Lieferart');
  if ($janein == 1) {main::mprint "selected";};
  }
    sub selected2 {
  my $janein = ssp::cart_read_var('Lieferart');
  if ($janein == 0) {main::mprint "selected";};
  }
-->
__check::lieferart__

<form method="post" action="http://__xxpath__?placecart,__xxsession__">
    <select name="test" size="1" onchange="this.form.submit()">
      <option name="test" value="">bitte wählen</option>
      <option name="test" value="1" __check::selected__>ja</option>
      <option name="test" value="0" __check::selected2__>nein</option>
    </select>
</form>


in meinem Testshop wird damit
1) bei Auswahl das Formular automatisch abgeschickt = der WK neu geladen
2) der Flag (0 = kein Dropshipping, 1 = Dropshipping) korrekt in die WK-Datei geschrieben
3) die Auswahl bleibt beim neu laden des Warenkorbs erhalten

P.S.:
die Callbackabfrage sollte dann so ausschauen:

my $wert =  ssp::cart_read_var('Lieferart');
   if ($wert == "1") {
mfG
dobra

mt

DANKE!!! :D

Werd's gleich morgen ausprobieren!!!
Übrigens clever gelöst mit den selectierten Feldern, hätte mir darüber erst später einen Kopf gemacht.

Aber nur noch eine 'dumme' Frage:
Woher hast Du denn nun eigentlich das mit 'ssp::cart_write_var' und 'ssp::cart_read_var'?
Ich habe echt nirgends was gefunden! War gestern (von ahe) schon über diese Variablen überrascht.
Habt Ihr andere Hilfen? ???

Na denn einen schönen Abend.

Gruß
mt




dobra

ZitatWoher hast Du denn nun eigentlich das mit 'ssp::cart_write_var' und 'ssp::cart_read_var'?
nein, ich habe auch keine anderen Handbücher.
Diese - bei sehr vielen Aufgaben SEHR hilfreiche Funktion ist (noch) nirgends dokumentiert.
Ich habe das - wie fast alles, was ich heute kann - mal von ahe gelernt  :D
mfG
dobra

dobra

Hallo nochmal,

habe gerade eine kleine Ungenauigkeit bei dem Script festgestellt

mit der Abfrage if ($janein == 0) wird "" (nichts) mit "0" interpretiert.
wenn also ein Kunde den WK zum ersten mal aufruft bzw. noch keine Lieferart gewählt hat, ist somit "nein" voreingestellt.

Wenn Du das nicht willst, sondern das "bitte wählen" angezeigt werden soll, bitte das Script so ändern:
...
  if ($janein == 2) {main::mprint "selected";};
...
  <option name="test" value="2" __check::selected2__>nein</option>
...

(an der Callbackabfrage ändert sich dadurch nichts)
mfG
dobra

mt

 :D :D :D :D :D

Genau das gleiche habe ich auch schon festgestellt.
Jedoch habe ich noch das Problem, dass die Werte bei mir verkehrt herum interpretiert werden.
Aber das kriege ich schon hin, ist bestimmt nur was Kleines, bin manchmal ein bisschen schusselig.  ;)

Ein viel größeres Problem ist derzeit, dass die Variable außerhalb des WK und im weiteren Bestellablauf verloren geht,
denke aber das ich den Fehler gefunden habe. In der Funktion wo die Variable gebildet wird muss ich noch eine
Abfrage machen ob die Variable schon gesetzt ist, da Sie sonst mit 'Leer' überschrieben wird. Vermute zumindest, dass es daran liegt.
Bin da noch am arbeiten.

Gruß
mt

mt

#25
Hallo dobra,

Leider ist der gesetzte Dropshippingwert außerhalb des Warenkorbs und
im weiteren Bestellvorgang wieder undefiniert  :(

Ich habe Dein Scripft fast so übernommen.

EdiT:
Habe ein paar Testausgaben gemach und habe festgestellt, das 'ssp::cart_write_var('Lieferart', $wert);'
immer den selben Wert hat, egal was ich im Selectfeld übergebe. Der Wert ist immer 1 (ist bei mir Nein).
Er ist auch schon von Anfang an 1 (Vor der Auswahl).
Woran kann das liegen?

cru

#26
Hallo mt, hallo dobra,

ich schalte mich mal eben dazwischen ;)

<select name="test" size="1" onchange="this.form.submit()">
      <option name="test" value="">bitte wählen</option>
      <option name="test" value="1" __check::selected__>ja</option>
      <option name="test" value="0" __check::selected2__>nein</option>
</select>

Ich kann zwar nicht garantieren, dass es der Fehler ist, aber nur das select sollte ein name-Attribut haben und nicht die 3 options.

mit ssp::get_var_form("test") wird der aktuelle Wert des selects ausgelesen. Könnte sein, dass die 3 weiteren name="test" den Fehler verursachen.


mfg
cru

mt

Hallo cru,

den 'Fehler' (HTML ignoriert es einfach), habe ich auch schon festgestellt, ist aber nicht die Ursache.

Gruß
mt

cru

Hallo mt,

am besten versuchen Sie einmal das Script in einen Demoshop einzubauen.
Dann wissen Sie wenigstens ob es am Script liegt oder ob irgendetwas anderes nicht in Ordnung ist.

Bei meinen Tests im Demoshop(carshop) funktioniert dobras Script tadellos.

mfg
cru

dobra

#29
Fehler gefunden

sub lieferart {
   my $wert = ssp::qform(ssp::get_var_form('test'));
   if ($wert ne "undefined")  {
     ssp::cart_write_var('Lieferart', $wert);
   }
}

zumindest in meinem Testshop funktioniert es jetzt  ;D

warum DU immer "1" hast, ist mir allerdings ein Rätsel  ???
Hast Du die Einträge in der cart-Datei kontrolliert?

@cru
Danke für den Hinweis! werd ich mir merken
hat aber mit DIESEM Fehler nichts zu tun - mit der Korrektur funktioniert es mit und ohne die name="test"s in den option-Feldern.
mfG
dobra