Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-05-2005, 17:16   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 21
Warenkorbfunktion

Hallo

hat jemand Erfahrung mit einem Warenkorb in Flash bzw. AS?

Ich weiß, ganze Shops sind aufwendig und nicht ganz leicht. Ich such aber nur eine Funktion, mit der ich Produkte in den Warenkorb legen bzw. dort speichern kann, und dann Gesamtbetrag errechnen, Kundendaten angeben und mailen kann.

Formular für die Kundendaten etc. is kein Problem. Wo ich Hilfe bräuchte, das ist das Problem, wie ich Produkte in den Warenkorb bringen kann.
Zur Verständichkeit: bei mir gehts darum, dass Fotos verkauft werden sollen. Diese Fotos stehen in einzelnen Galerien. Wenn ich dann bei einem Foto auf "kaufen" gehe, soll der Warenkorb erscheinen...

Danke schonmal für eure Hilfe...
bennihaag ist offline   Mit Zitat antworten
Alt 20-05-2005, 17:33   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Mal so als Ansatz:
ActionScript:
  1. var Waren = [];
  2. for (var x = 1; x<4; x++) {
  3.     this["foto"+x].onRelease = function() {
  4.         Waren.push(this._name);
  5.     };
  6. }
  7. this.WK.onRelease = function() {
  8.     trace(Waren);
  9. };
Also quasi beim release den Namen des geklickten Fotos einem Array hinzufügen. Beim Klick auf den Button "WK" Array anzeigen/auswerten - was auch immer. Du könntest dem Foto natürlich auch noch direkt einen Preis mitgeben.
So würde ich's auf jeden Fall machen...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 20-05-2005, 18:47   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 21
@ Der Frager

danke für deinen Ansatz.

Nur leider bleibt das bei mir nur ein Ansatz, den ich nicht fortführen kann, weil ich paar Dinge net versteh:

Für was steht die Variable "Waren"???
Wo muss dieser Code hin?

Vielleicht kannst du das ja an meinem konkreten Beispiel fortspinnen...:
Was kommt auf den Button "Kaufen"?

Wär super, wenn du das bissl konkretisieren könntest!
Danke schonmal...
bennihaag ist offline   Mit Zitat antworten
Alt 20-05-2005, 19:02   #4 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
Kaufen-Button mit Instanznamen 'buy_btn'

Aktionscript in der Hauptzeitleiste:
ActionScript:
  1. var Warenkorb = new Array();
  2.  
  3. // für jeden Button dann
  4. buy_btn.onRelease = function()
  5. {
  6. Warenkorb.push( 'produktnummer' );
  7. }
  8.  
  9.  
  10. // zum Abrufen des Warenkorbs
  11. trace( Warenkorb.join(',') );
pokepika ist offline   Mit Zitat antworten
Alt 20-05-2005, 20:34   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 21
Danke dir.

Ich hab den Button und den AS-Code auf zwei versch. Ebenen, aber auf dem gleichen Bild.

Wenn ich die Datei im Vorschaumodus öffne, kommt lediglich ein leeres "Ausgabe-Fenster" beim Start der .swf. Mehr tut sich nicht... ???
bennihaag ist offline   Mit Zitat antworten
Alt 21-05-2005, 12:19   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Habe jetzt mal eine Beispieldatei gebaut. Da benutze ich 2 Arrays, eins für die Bilder (Waren) und eins für die Preise (WarenPreise). Könnte man auch in ein 2-dimensionales Array packen oder bei der Auswertung auseinander fummeln, aber ich wollte es möglichst einfach halten.
ActionScript:
  1. _global.gesamt = 0;
  2. var Preise = [20, 30, 40, 50];
  3. var Waren = [];
  4. var WarenPreise = [];
  5. for (var x = 1; x<5; x++) {
  6.     this["foto"+x].preis = Preise[x-1];
  7.     this["foto"+x].onRelease = function() {
  8.         Waren.push(this._name);
  9.         WarenPreise.push(this.preis);
  10.     };
  11. }
  12. this.WK.onRelease = function() {
  13.     for (var i = 0; i<Waren.length; i++) {
  14.         trace("Produkt: "+Waren[i]);
  15.         trace("Preis: "+WarenPreise[i]);
  16.         gesamt += WarenPreise[i];
  17.     }
  18.     trace("Gesamtpreis: "+gesamt);
  19. };
Angehängte Dateien
Dateityp: rar Warenkorb.rar (4,3 KB, 45x aufgerufen)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 21-05-2005, 15:14   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 21
cool, vielen Dank.

was noch problematisch werden könnte:
ich hab 6 Galerien, die ich per LoadMovie in meinen Hauptfilm lade.

Wie kann ich da erreichen, dass sowohl Fotos aus Movie1 als auch z.b. aus Movie 5 zum gleichen Warenkorb dazugezählt werden?
Denn es wär für den Benutzer etwas sehr unlogisch, für jede Galerie einzeln bestellen zu müssen...

Danke nochmal
bennihaag ist offline   Mit Zitat antworten
Alt 21-05-2005, 15:30   #8 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
...dann übergib die Werte mit einem _root davor:
ActionScript:
  1. _root.Waren.push(this._name);
  2. _root.WarenPreise.push(this.preis);
Die Preise für die Bilder kommen dann mit in den nachgeladenen Film. Die Arrays definierst du weiterhin im Hauptmovie. Und damit man weiß, woher die Bilder kommen, vielleicht vor die aus "Gallerie 1" G1 aus "Gallerie 2" G2 (also G1_foto1, G2_foto1 usw).
Aber wie schon gesagt, vielleicht geht's auch einfacher/besser. Habe noch nie einen Warenkorb gebaut (bis auf die Beispieldatei ).
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 21-05-2005, 17:22   #9 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 21
besser geht´s nicht jedenfalls könnts ich net besser...

Noch ne (hoffentlich) letzte frage:
Wie kann ich dann die einzelnen Fotos (pro Foto eine Zeile) in einer "Tabelle" anzeigen. Also so ähnlich wie in Onlineshops, wo ich in einer Zeile den Namen des Fotos, Menge und Preis habe.
ich muss hier wohl mit einem dynamischen Textfeld arbeiten.
Wie aber genau mach ich das, damit das auch übersichtlich angezeigt wird???

Thx...
bennihaag ist offline   Mit Zitat antworten
Alt 21-05-2005, 18:03   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
So, dann mal eine Tabelle. Hab's mit in die alte Version reingesetzt. Ist natürlich, wie immer, nur ein Beispiel. Der MC "TabHolder" enthält dann die Elemente der Tabelle, damit man gegebenfalls noch einen Scroller - oder was weiß ich - einbauen kann...
ActionScript:
  1. _global.gesamt = 0;
  2. var Preise = [20, 30, 40, 50];
  3. var Waren = [];
  4. var WarenPreise = [];
  5. for (var x = 1; x<5; x++) {
  6.     this["foto"+x].preis = Preise[x-1];
  7.     this["foto"+x].onRelease = function() {
  8.         Waren.push(this._name);
  9.         WarenPreise.push(this.preis);
  10.     };
  11. }
  12. this.WK.onRelease = function() {
  13.     for (var x in _root) {
  14.         unloadMovie(_root[x]);
  15.     }
  16.     _root.createEmptyMovieClip("TabHolder",1);
  17.     _root.TabHolder.attachMovie("tabelle", "tabelleX", -1)
  18.     for (var i = 0; i<Waren.length; i++) {
  19.         _root.TabHolder.attachMovie("tabelle", "tabelle"+i, i);
  20.         var mc = _root.TabHolder["tabelle"+i];
  21.         mc.prod_txt.text = Waren[i];
  22.         mc.preis_txt.text = WarenPreise[i];
  23.         mc._y = mc._height*(i+1);
  24.         trace("Produkt: "+Waren[i]);
  25.         trace("Preis: "+WarenPreise[i]);
  26.         gesamt += WarenPreise[i];
  27.     }
  28.     _root.TabHolder.attachMovie("tabelle", "tabelle"+i+1, i+1);
  29.         var mc = _root.TabHolder["tabelle"+i+1];
  30.         mc.prod_txt.text = "Gesamt Preis:";
  31.         mc.preis_txt.text = gesamt;
  32.         mc._y = mc._height*(i+1);
  33. };

edit: Das zeigt die natürlich stupide die Fotos+Preis an. Wenn jemand zweimal das gleiche Bild bestellt hat und da dann "Menge 2" stehen soll, ist's mit 2 Arrays doch ziemlicher Mist. Ginge zwar, aber dann doch lieber gleich ein 2-dimensonales Array, wo der Preis direkt am Bild "klebt". Vielleicht bekommst du das ja alleine hin. Ansonsten gucke ich morgen nochmal. Ist ja auch für mich ganz interessant, mal einen Warenkorb zu bauen und nicht immer nur MCs von _alpha 0 auf 100 faden zu lassen, oder den 100sten Preloder ins Forum zu posten...
Angehängte Dateien
Dateityp: rar Warenkorb.rar (5,8 KB, 23x aufgerufen)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (21-05-2005 um 18:11 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 21-05-2005, 19:14   #11 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 21
Zitat:
Ist ja auch für mich ganz interessant, mal einen Warenkorb zu bauen und nicht immer nur MCs von _alpha 0 auf 100 faden zu lassen, oder den 100sten Preloder ins Forum zu posten...
diese leute bewundere ich sowieso

In Deinem Tatendrang will ich dich ja net stören und stoppen , aber eins will ich noch hinzufügen:
keine ahnung, ob das auch nur mit nem 2-dimensionalem Array geht, aber es müsste doch sicher auch möglich sein, in der Warenkorbansicht die Variable, die die Anzahl ausgibt, in ein Textfeld zu stellen, damit man da auch nochmal an ner Menge von einem Foto schrauben kann!!!???
bennihaag ist offline   Mit Zitat antworten
Alt 22-05-2005, 14:50   #12 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Hier dann man die aktuelle Version. Ich bin zwar immernoch der Meinung, dass das eleganter geht - auf der anderen Seite denke ich aber, hauptsache es klappt. Grafisch ist das keine Meisterleistung, allerdings soll es ja auch nur als Beispiel dienen. Den Rest (Bildchen hinzufügen, abschicken etc.) solltest du aber jetzt schon selber hinbekommen. Sonst will ich Geld von dir
ActionScript:
  1. stop();
  2. _root.gesamt = 0;
  3. var Preise = [20, 30, 40, 50];
  4. var Waren = [];
  5. for (var x = 1; x<5; x++) {
  6.     this["foto"+x].preis = Preise[x-1];
  7.     this["foto"+x].onRelease = function() {
  8.         Waren[Waren.length] = [];
  9.         Waren[Waren.length-1][0] = this._name;
  10.         Waren[Waren.length-1][1] = this.preis;
  11.         Waren[Waren.length-1][2] = 1;
  12.     };
  13. }
  14. this.WK.onRelease = function() {
  15.     Waren.sort();
  16.     for (var x = 0; x<Waren.length; x++) {
  17.         var tmp = Waren[x][0];
  18.         tmp == Waren[x+1][0] ? (Waren[x][2] += 1, Waren.splice(x+1, 1), x -= 1) : 0;
  19.     }
  20.     gotoAndStop(2);
  21.     _root.createEmptyMovieClip("TabHolder", 1);
  22.     _root.TabHolder.attachMovie("kopf", "kopf", -1);
  23.     for (var i = 0; i<Waren.length; i++) {
  24.         _root.TabHolder.attachMovie("tabelle", "tabelle"+i, i);
  25.         var mc = _root.TabHolder["tabelle"+i];
  26.         mc.prod_txt.text = Waren[i][0];
  27.         mc.preis_txt.text = Waren[i][1];
  28.         mc.menge_txt.text = Waren[i][2];
  29.         mc.gesamt_txt.text = Waren[i][2]*Waren[i][1];
  30.         _root.gesamt += Waren[i][2]*Waren[i][1];
  31.         mc._y = mc._height*(i+1);
  32.     }
  33.     gesamtPreis();
  34. };
  35. MovieClip.prototype.gesamtPreis = function() {
  36.     _root.TabHolder.attachMovie("total", "total", 1000);
  37.     var mc = _root.TabHolder.total;
  38.     mc.gesamtPreis_txt.text = _root.gesamt;
  39.     mc._y = mc._height*(Waren.length+1);
  40. };
Vielleicht erweitere ich das Ding irgendwann mal. Wird sich zeigen...

edit: ...und es hat so harmlos angefangen
ActionScript:
  1. var Waren = [];
  2. for (var x = 1; x<4; x++) {
  3.         this["foto"+x].onRelease = function() {
  4.                 Waren.push(this._name);
  5.         };
  6. }
  7. this.WK.onRelease = function() {
  8.         trace(Waren);
  9. };
Angehängte Dateien
Dateityp: rar Warenkorb_v0.01.rar (6,0 KB, 33x aufgerufen)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (22-05-2005 um 14:52 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 22-05-2005, 15:04   #13 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 21
vielen, vielen Dank!

Zitat:
...und es hat so harmlos angefangen
dafür warst du jetzt mal gefordert!


Ähhm, sag mal, du erstellst ja die Tabelle komplett über AS. Was aber problematisch wird: ich will ja auf die gleichen Seite, auf der der Warenkorb erscheint, noch das Bestellformular (Formular zur Eingabe der Adresse) positionieren bzw. erscheinen lassen.
Is das dann nur über AS zu realisieren, oder gäbs da ne (leichtere) Möglichkeit?

Aber wirklich vielen Dank! Hat mir echt viel geholfen...
bennihaag ist offline   Mit Zitat antworten
Alt 22-05-2005, 15:14   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von bennihaag
du erstellst ja die Tabelle komplett über AS.
Nö. Eigenlich attache ich nur MCs aus der Bibliothek über AS und weise denen ein paar Variablen zu. Und es ist natülich kein Problem, da noch was Anderes mit auf die Seite zu packen. Habe jetzt im Beispiel mit einem 2. Frame gearbeitet, in diesem kannst du auch noch andere Sachen platzieren. Ob jetzt über AS oder nicht ist egal.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 22-05-2005, 17:12   #15 (permalink)
lernwillig
 
Benutzerbild von 23012
 
Registriert seit: Jan 2002
Ort: auf dem Land
Beiträge: 1.327
Hallo @ Der Frager,
mit grossem Interesse verfolge ich (und sicher noch
ein paar andere) den Thread hier. Bevor ich mich dran
mache und versuche, das nachzubauen (hab kein MX2004),
meine Frage an Dich: wäre das nicht ne feine Sache für
die Tutorials/Stuff-Abteilung, wo Mitglieder fertige flas
zum Lernen für die anderen zur Verfügung stellen?

Sites als fla-Dateien zum Download

Vielleicht gibt es ja noch mehr OpenSource-Anhänger hier?

Gruss
23012
__________________
[TUTORIAL] Nahtlose Muster erstellen in Photoshop
23012 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:18 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele