Name: | MMoser |
Titel: | Warenkorb ... der funktioniert, jedoch beim editieren hab ich einen Knopf auf der Leitung? |
Inhalt: | Werte Coldfusion-Gemeinde ich stehe mal wieder im Schilf und komme nicht weiter. Es geht um einen Warenkorb den ich einmal selbst entwickeln möchte. Dafür habe ich hier mal ein ganz einfaches aufgesetzt. Könnte ein Copy/Paste machen und es bei Euch einsetzten - es sollte soweit problemlos funktionieren; produkte.cfm <!doctype html> <html> <head> <InvalidTag charset="UTF-8"> <title>Shop - Produkt Auswahl</title> </head> <body> <h1>Willkommen zum Shop</h1> <p> </p> <form action="warenkorb.cfm" method="post"> <p>Artikel-1, seite Eigenschaft, Preis 45.00</p> <input type="hidden" name="productID" value="1" /> <input type="hidden" name="productName" value="Artikel-1" /> <input type="hidden" name="productPrice" value="45.00" /> <input type="number" name="productMenge" /> <input type="submit" value="zum Warenkorb" /> </form> <form action="warenkorb.cfm" method="post"> <p>Artikel-2, seine Eigenschaft, Preis 50.00</p> <input type="hidden" name="productID" value="2" /> <input type="hidden" name="productName" value="Artikel-2" /> <input type="hidden" name="productPrice" value="50.00" /> <input type="number" name="productMenge" /> <input type="submit" value="zum Warenkorb" /> </form> </body> </html> hier der Warenkorb als warenkorb.cfm <cfapplication name="App_01" clientmanagement="no" clientstorage="Cookie" sessionmanagement="Yes" setclientcookies="Yes" sessiontimeout="#CreateTimeSpan(0,0,20,0)#"> <cfif NOT StructKeyExists(session,'ShoppingCart')> <cfset Session.ShoppingCart = StructNew()> <cfset Session.ShoppingCart.FirstName = ""> <cfset Session.ShoppingCart.LastName = ""> <cfset Session.ShoppingCart.Address = ""> <cfset Session.ShoppingCart.Products = ArrayNew(2)> </cfif> <cfif StructKeyExists(form,'productID')> <cfset Session.ShoppingCart.Products[arraylen(Session.ShoppingCart.Products)+1][1] = form.productID> <cfset Session.ShoppingCart.Products[arraylen(Session.ShoppingCart.Products)][2] = form.productName> <cfset Session.ShoppingCart.Products[arraylen(Session.ShoppingCart.Products)][3] = form.productPrice> <cfset Session.ShoppingCart.Products[arraylen(Session.ShoppingCart.Products)][4] = form.productMenge> </cfif> <cfif StructKeyExists(url,'deleteID')> <cfset variables.products = ArrayNew(2)> <cfloop index="i" from="1" to="#arrayLen(Session.ShoppingCart.Products)#"> <cfif url.deleteID NEQ i> <cfset variables.products[arraylen(variables.products)+1][1] = Session.ShoppingCart.Products[i][1]> <cfset variables.products[arraylen(variables.products)][2] = Session.ShoppingCart.Products[i][2]> <cfset variables.products[arraylen(variables.products)][3] = Session.ShoppingCart.Products[i][3]> <cfset variables.products[arraylen(variables.products)][4] = Session.ShoppingCart.Products[i][4]> </cfif> </cfloop> <cfset Session.ShoppingCart.Products = variables.products> </cfif> <cfif StructKeyExists(form,'editID')> <cfset variables.products = ArrayNew(2)> <cfloop index="i" from="1" to="#arrayLen(Session.ShoppingCart.Products)#"> <cfif form.editID NEQ i> <cfset variables.products[arraylen(variables.products)+1][1] = Session.ShoppingCart.Products[i][1]> <cfset variables.products[arraylen(variables.products)][2] = Session.ShoppingCart.Products[i][2]> <cfset variables.products[arraylen(variables.products)][3] = Session.ShoppingCart.Products[i][3]> <cfset variables.products[arraylen(variables.products)][4] = 15 > </cfif> </cfloop> <cfset Session.ShoppingCart.Products = variables.products> </cfif> <cfoutput> <form name="ShoppingCart" action="warenkorb.cfm" method="post"> <h1>Warenkorb</h1> <p>Du hast #arrayLen(Session.ShoppingCart.Products)# Artikel in deinem Warenkorb.<br />Session_Nr #Session.SessionID#<br /></p> <cfloop index="i" from="1" to="#arrayLen(Session.ShoppingCart.Products)#"> <cfset currentFieldName = "productQuantity" & i > <table> <tr> <td>#Session.ShoppingCart.Products[i][2]#</td> <td>#Session.ShoppingCart.Products[i][3]#</td> <cfif isDefined("Form.submit")> <td>Neuer Wert: <input type="text" name="#currentFieldName#" value="#Session.ShoppingCart.Products[i][4]#"></td> <cfelse> <td><input type="text" name="#currentFieldName#" value="#Session.ShoppingCart.Products[i][4]#"> <input type="hidden" name="editID#i#" value="#Session.ShoppingCart.Products[i][4]#" /> </td> </cfif> <td><a href="warenkorb.cfm?deleteID=#i#">loeschen</a></td> <td><input type="submit" name="submit" value="aendern"></td> </tr> </table> </cfloop> </form> </cfoutput> <p><a href="produkte.cfm">zum Warenshop zurueck ...</a></p> <p> </p> <hr> <p> </p> <h1>Demo-Adresse</h1> <form action="adressen.cfm" method="POST"> <div class="form-row"> <label> <span>Vorname: </span> <input type="text" size="20" name="FirstName"> </label> </div> <div class="form-row"> <label> <span>Nachname: </span> <input type="text" size="20" name="LastName"> </label> </div> <div class="form-row"> <label> <span>Adresszeile usw.</span> <input type="text" size="20" name="Addresse"> </label> </div> <input type="submit" class="submit" value="Einkauf fortsetzen"> </form> Meine Herausforderung bzw. meine Frage an Euch besteht nur noch darin, dass ich die Artikel in meinem Warenkorb dann nicht mit einer neuen Zahl, also mit einer neuen Menge aktualisieren kann. Der Rest funktioniert soweit. Für Tipps und Tricks möchte ich mich bei Euch bedanken ich schätze die nämlich sehr. Grüsse Marcel |
![]() |