Hilfe!! Flash Shop ändern

  • geschlossen
  • Andere Sprache

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hilfe!! Flash Shop ändern

    also mein problem ist folgendes...

    ich habe ein flash shop (paypal basierend) von einer seite gerippt.hat auch alles bis jetzt funktioniert...habe auch die gewünschten produkte mit xml eingefügt auch die preise usw...ich kann den shop zu 100% bentzen.

    so nun will ich noch eine sache hinzufügen. rabatt=

    im moment sind folgende punkte in der xml vorhanden.

    name= price= logo= product_page=

    sprich wenn man zb fünf produkte auswählt kann man -20% noch auswählen damit eben vom gesamtpreis noch -20% abgehen.
    aber sobal ich bei der xml..zb bei preis -30euro (price=-30) eingebe kommt bei paypal -bitte ein wert über null eingeben.

    so hier sind mal die action layer scripts und die xml
    action layer:

    Quellcode

    1. function set_prices()
    2. {
    3. item_name = "Bestellen";
    4. total_price = 0;
    5. selected_items = 0;
    6. for (product_counter = 0; product_counter < my_xml.firstChild.childNodes.length; product_counter++)
    7. {
    8. if (products_loader.content['line' + product_counter].check_box.value == true)
    9. {
    10. total_price = total_price + Number(products_loader.content['line' + product_counter].product_price);
    11. item_name = item_name + products_loader.content['line' + product_counter].xname;
    12. set("item_name_" + (selected_items + 1), my_xml.firstChild.childNodes[product_counter].attributes.name);
    13. set("amount_" + (selected_items + 1), my_xml.firstChild.childNodes[product_counter].attributes.price);
    14. ++selected_items;
    15. } // end if
    16. if (selected_items >= 1)
    17. {
    18. status_text_box.text = selected_items + " VON " + my_xml.firstChild.childNodes.length + " PRODUKTE GEWAELT";
    19. } // end if
    20. if (selected_items == 0)
    21. {
    22. status_text_box.text = "Waehlen Sie Ihr Produkt und klicken Sie auf \"Bestellen\"";
    23. } // end if
    24. } // end of for
    25. format_price_char();
    26. } // End of the function
    27. function format_price_char()
    28. {
    29. var _loc2 = total_price;
    30. _loc2 = Math.round(_loc2 * 100) / 100;
    31. var _loc1 = String(_loc2);
    32. if (_loc1.indexOf(".") < 0)
    33. {
    34. _loc1 = _loc1 + ".00";
    35. } // end if
    36. if (_loc1.indexOf(".") == _loc1.length - 2)
    37. {
    38. _loc1 = _loc1 + "0";
    39. } // end if
    40. total_price_box.text = "EUR " + _loc1;
    41. } // End of the function
    42. stop ();
    43. _root._visible = true;
    44. var the_price;
    45. var my_counter;
    46. var item_name = "";
    47. loadVariables(String(_url.slice(0, _url.length - 3) + "cfg?" + random(9999999)), _root);
    48. for (my_counter = 0; my_counter < my_xml.firstChild.childNodes.length; my_counter++)
    49. {
    50. if (my_counter < my_xml.firstChild.childNodes.length - 1)
    51. {
    52. products_loader.content.line0.duplicateMovieClip("line" + (my_counter + 1), my_counter);
    53. } // end if
    54. set("products_loader.content.line" + (my_counter + 1) + "._y", products_loader.content.line0._y + (my_counter + 1) * 70);
    55. products_loader.content.end_pixel._y = products_loader.content.line0._y + (my_counter + 1) * 70 + 6;
    56. set("products_loader.content.line" + my_counter + ".product_name", my_xml.firstChild.childNodes[my_counter].attributes.name);
    57. if (my_xml.firstChild.childNodes[my_counter].attributes.info != "" && my_xml.firstChild.childNodes[my_counter].attributes.info != undefined)
    58. {
    59. set("products_loader.content.line" + my_counter + ".product_info", my_xml.firstChild.childNodes[my_counter].attributes.info);
    60. } // end if
    61. set("products_loader.content.line" + my_counter + ".product_price", my_xml.firstChild.childNodes[my_counter].attributes.price);
    62. products_loader.content['line' + my_counter].product_logo.loadMovie(my_xml.firstChild.childNodes[my_counter].attributes.logo);
    63. products_loader.content['line' + my_counter].check_box.addEventListener("click", set_prices);
    64. products_loader.content['line' + my_counter].product_page = my_xml.firstChild.childNodes[my_counter].attributes.product_page;
    65. } // end of for
    66. submit_button.onRelease = function ()
    67. {
    68. if (total_price > 0)
    69. {
    70. getURL(payment_url, "_parent", "POST");
    71. }
    72. else
    73. {
    74. status_text_box.text = "FEHLER: Waehlen Sie ein Produkt bevor Sie Bestellen !!!";
    75. } // end else if
    76. };
    Alles anzeigen
    ]

    xml:

    XML-Quellcode

    1. <?xml version="1.0" encoding="iso-8859-1"?>
    2. <products>
    3. <A name="Der 200.000 Euro Schenker" price="4.99" logo="/COVER/KLEIN/200000euro-schenker2-KLEIN.jpg" product_page="200.000euro.php"/>
    4. <A name="Der Erotic-Man" price="4.99" logo="/COVER/KLEIN/erotic-man2-KLEIN.jpg" product_page="dereroticman.php"/>
    5. <A name="Der Runterhaendler" price="4.99" logo="/COVER/KLEIN/der_runterhaendler2-KLEIN.jpg" product_page="runterhandler.php"/>
    6. </products>




    ich hoffe ich habe das nicht alles zu kompliziert erklärt..brauche hilfe wäre super...:)
  • ...wie mach ich das?

    erst mal danke für die information...so aber

    Du solltest 20% nicht mit -20 verwechseln.
    Wenn Du von z.B. 10 Euro 20 % Rabatt haben willst,
    sind das halt nicht 10-20 = -10 Euro,
    sondern 10 * 0,8 = 8 Euro.


    ja aber wie mach ich das?

    wie muss ich das in die xml reinschreiben..oder muss man das in das layer script reinschreiben?

    denn wenn ich in der xml datei reinschreibe ... price= "10*0,8" dann kommt das als betrag..und dann kommt wieder der fehler "undefined" und bei gesamt summe NaN.00...? und wenn ich das so reinschreibe price 10*0,8= "10.00"

    kommt der fehler auch...

    bitte um antwort
  • Ich weiss ja jetzt nicht genau was Du da jetzt mache willst,
    aber ein bischen Einarbeitung von Deiner Seite sollte doch schon noch passieren...

    Willst Du was OnRelease machen oder in set_prices ?

    Du musst schon irgendwie in den Code reinschauen und da die Anpassung, die gewünscht ist, programmieren.
    Da gibt es z.B was mit "selected_items".
    Da könnte man ja mal abfragen ob das grösser 5 ist.
    Dann könnte man mal "total_price" anpacken und den Rabatt abziehen.
  • also das problem ist..ich kenne mich absolut nicht mir flash scripten aus.
    also was programmieren angeht..gleich NULL.

    was ich will ist: das ich was am script ändere damit er mir vom endbetrag
    -20% abzieht.
    nur wo muss ich da was reinschriebn...?

    kannst du mir das vielleicht reinschreiben..ich sitzt schon seit wochen dran...
    oder zumidest sagen was ich reinschreiben muss..
    zb.
    (total_price*20/100)

    oder

    (price*20/100)

    da kommen immer fehler..ich blick es nicht ..verzweifel schon dran

    bitte um antwort


    SANCHEZ
  • Hallo,

    eins vorweg ich kann kein Flash! Wenn Flash alle Variablen in den Funktionen global setzt, solltest Du folgende angepasste Codezeilen verwenden:

    Quellcode

    1. submit_button.onRelease = function ()
    2. {
    3. if (total_price > 0)
    4. {
    5. if(selected_items > 4)
    6. {
    7. total_price = total_price * 0.8;
    8. }
    9. getURL(payment_url, "_parent", "POST");
    10. }
    11. else
    12. {
    13. status_text_box.text = "FEHLER: Waehlen Sie ein Produkt bevor Sie Bestellen !!!";
    14. } // end else if
    15. };
    Alles anzeigen

    zur Erklärung: es wird die Variable selected_items aus der Funktion set_prices()
    abgefragt, die mit jedem AuswahlKlick erhöht wird, ist diese grösser als 4 Produkte wird der Rabatt abgezogen - aber keine Ahnung ob das mit dieser Syntax so in Flash funktioniert

    ein interessanter Shop - kann man sich den mal sourcetechnisch ansehen? Bin auch gerade dabei einen Ähnlichen mit Ajax und PHP zu coden

    Guardian
  • geht leider immer noch nicht.

    :confused: ich verzweifel noch...

    naja es geht immer noch nicht..also wenn ich das so mach
    submit_button.onRelease = function ()
    {
    if (total_price > 0)
    {
    if(selected_items > 4)
    {
    total_price = total_price * 0.8;
    }
    getURL(payment_url, "_parent", "POST");
    }
    else
    {
    status_text_box.text = "FEHLER: Waehlen Sie ein Produkt bevor Sie Bestellen !!!";
    } // end else if
    };



    dann passiert gar nix... macromedia flash sagt mir das kein script fehler vorliegt aber sobald ich den shop ausprobiere passiert nix.ist alles normal.

    ich weiß nich weiter..ich ....schade

    aber danke an alle für die hilfe...:(

    ps: wegen dem shop kannste mir ne PM schicken dann gebe ich dir den link für den shop (alles was man braucht.) als kleines dankeschön für die hilfe
  • mmh, dann nehme ich an das die Variable nicht global ist und erst als solche deklariert oder als return Variable zurückgegeben werden muss

    ja ich schicke Dir mal die PM, und versuche es rauszubekommen - sollte eigentlich nicht so schwierig sein, wenn sich Flash nur halbwegs an "normale" Syntaxregeln hält

    bis dann
    Guardian

    edit: habe gerade das hier gefunden: [Flash MX] Globale Variablen??? @ flashhilfe.de - Flash Forum oder
    Globale Variablen - Flashforum , das sollte helfen ich probiere es nachher mal aus...