Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

gwinger

Pioneers
  • Posts

    44
  • Joined

  • Last visited

Everything posted by gwinger

  1. Maybe, because of you could be able to compare some files I changed with the originals and try to use my methods to finish your gallery? But if you don't want, it is your decision. When I would give it out as a contribution, some people will break their shops and then the support could be too much stressing. I know what happens, when you give out complicated solutions for anything, and I have not so much time to work out everybodys bugs. There are more things to change than only put a filedefinition into the application_top.php. My categories.php is 140 kb and some other changes from original make it difficult to compare with diff tools. But if you like to try, you only could win.
  2. Sorry, the link was not complete. This should lead you to the Demo http://www.it-sells.de/product_info.php/pr...products_id/245
  3. Look at www.it-sells.de/default.php There is a dynamic image-upload which uploads 7 different images at once and makes 3 different sizes from the products_image and uses only one column in the database for it. Then the otherimages are extra for the product or as a gallery. The are resized within the upload, too and each size parameter for each picture is free defined. There are not much option left open. :wink:
  4. Look at IT-Sells.de/default.php Go to the Produkts and you see 6 Pictures (There are default images inside) but it is fully dynamic with image check etc. pp Resize upload and so on. But it is to dangerous to give it as a contribution. Too much to edit for the mass of beginners.
  5. Sorry, the calculation is right now. With all the payment options I have!!! I forgot to deaktivate recalculating Tax. :? :? But the Error message when you will buy only one piece is the same.
  6. I have found out, that in the case you buy only 1 piece of a product, the Error for not choosen a payment method appears. I changed the tables for the decimals and have the same result with wrong calculation?!
  7. Have you an idea of implementing coupons again? It is a very great solution together.
  8. That is a nice idea. I think when a customer will only buy a gift voucher, the checkout procedure should ot show the shipping methods and the payment methods like in case of normal products. Maybe he should be asked how the gift voucher should be submitted. By posal service as a document together with an invoice or send ed to another adress and paid as a moneyorder and so on. Its easy to put some other information into the order e-mail and into the database. Ask for a gv_delivery adress and in the same procedure maybe for a Gift paper for ordered products when the normal delivery adress is different than the billing_adress. In future you could let the amount-side-box alive with this contribution. It will have sence, when you need to payback money to your customers. In case you want to create a payback point system, to honor activities like writing reviews or telling friends or purchasing in betwen a special period of time again.... An idea is to make a flexible checkout page, that only shows up, when a customer is buying a gift vocher, too. There the questions for the delivery of the gift voucher can be ansked.
  9. Another Bug is that the checkout confirmation give an error warning, when anybody will buy a special product and wants to pay w?th gift vocher. The Error warning is: Please choose a payment method...
  10. I forgot, Coupons are deactivated.
  11. This is my output as an example: Subtotal: 144.30? included Tax MwSt. (16%): 19.90? COD Fee: 4.15? Deutsche Post (Shipping Deutsche Post nach DE : 3 kg): 5.90? Gift Vouchers: 100.00? Total: 48.10? I use the gift voucher with Tax included, no recalculation and including shipping
  12. There is a wrong calculation in the vochers module. When I use as an example a product which is 100 Euro, and after all costs are listed, the gifz voucher amount of 100 Euro shall be used, the price to pay is invalid. I recalculated the price with different parameters for tax etc in the admin of the ot_module. But it is always wrong and I can't see anything that shows how it makes the wrong billing. There is no spezial sum like a Tax amount or anything like that , but an unclear amount of 2.37 Euro less or 4.06 Euro less...... Buy any of the Test Produkts in my Test shop and see. Can you understand this? I don't. PS: My Shop is working with your gv 4.0 now. The problem with the checkout_payment.php I had, was generated by a local Proxy. It served me the old ot_gv.php always. :)
  13. Hi, The coupons are working. I tested it with the 3.2 ot_gv.php and it was normally behaving. Now I play around with the new ot_gv.php and get an error in the checkout_payment.php: Fatal error: Call to undefined function: use_credit_amount() in /home/www/web5/html/it-sells/includes/classes/order_total.php on line 114 I found out, that the function use_credit_amount() is in ot_gv.php. Now I compared all the files of the new checkout gift vouchers addon with those files I actually use. They are identical. I don't found out why the checkout_payment.php isn't able to find that function. With the old ot_gv.php the checkout works. Also the coupons work exactly. Ian, have you tested the addon with a new checkout? Maybe you have forgotten to do all changed files into the package? :?:
  14. Have you read? I for myself need no help with the ebay-mod. I have posted that I need a small little bit of help with a better attribute system 5 times here. Not one answer. Then I posted that I developed a full contentmanagement system for oscommerce. Also no reaction. So I am for my own able to use Oscommerce as a magazine. Have up to 15 small and big and medium images inside with delete automatics and resize features. Then I posted a metatag controller just a year before, which used datatables for each product-description. No reaction. What else do you think that I should do? Develop anything for you? Where is the friendly community teamwork?????
  15. I can't find the function define in your package. Fatal error: Call to undefined function: use_credit_amount() in /home/www/web5/html/it-sells/includes/classes/order_total.php on line 114 Then I recognized, that the calculation isn't corect sometimes, when you redeem a voucher while checking out. But maybe it depends on another module I use. Have to check it. I think it is the calculation of gift voucher. Please Check it, too.
  16. Dear Ron Siegel, shouldn't I post existing code to use Ebay???? Have I totally misunderstood this thread? Why do you say that I should have told that this is my code? It is only an inspiration how we might use variables. Read before talk. But indeed it is working. The same way it is possible to post auctions. The Ebay Api changes not every week and this shouldn't be the big problem. I think the big problem is, that the most people don't like to read a PHP manual. Drag and drop is used to write contributions. Some other contributions are not with oscommerce standards. I for myself found thinks of myself on pages, that sold my code. Nobody helps. When you post anything, then nobody answers on your thread again. Everybody seems to wait until you serve it complete. Don't tell that there is no time. There are so much coders outside. But nobody reacts on requested programming help.
  17. Maybe it could be a great idea to integrate a auction into the shopping system which fills with a "on click and posted" method a community based auction portal. Then you will see the first time more than 25 items I bet. Ebay is usable too, but I posted code here and haven't got any answer of any developer. Why? Could it be work? Ok, thats one reason why myself is not very interested in contributing any more. Everybody only waits for the others to do anything. I'm not interested anymore to build give aways. A community should be more active.
  18. You have to use it as a stand alone class file and you only should call it in your browser. The first file (last posting of me) should become the name: "eBayAPI.php" This code has been forgotten and should be named "test_ebayapi.php" Call this second file in your browser!!!! Here is the code for the second file: <html> <head> <title>Test Ebay API</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"> </head> <body bgcolor="#FFFFFF" text="#000000"> Created by Sunny Rajpal <form name="CheckAuction" method="post" action="<?=$PHP_SELF?>"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="50%"> <p>Auction ID: <input type="text" name="AuctionID" value="<?=$AuctionID?>"> <br> <br> <input type="checkbox" name="checkbox" value="YES" <? if (!empty($checkbox)) echo "checked"; ?>> Print Item HTML<br> <input type="checkbox" name="checkbox1" value="YES" <? if (!empty($checkbox1)) echo "checked"; ?>> View auction<br> <input type="checkbox" name="checkbox2" value="YES" <? if (!empty($checkbox2)) echo "checked"; ?>> Print Item as Text<br> <input type="checkbox" name="checkbox3" value="YES" <? if (!empty($checkbox3)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Item Number<br> <input type="checkbox" name="checkbox5" value="YES" <? if (!empty($checkbox5)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Item Name<br> <input type="checkbox" name="checkbox6" value="YES" <? if (!empty($checkbox6)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Current Price<br> <input type="checkbox" name="checkbox7" value="YES" <? if (!empty($checkbox7)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Starting Bid<br> <input type="checkbox" name="checkbox8" value="YES" <? if (!empty($checkbox8)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Quantity<br> <input type="checkbox" name="checkbox9" value="YES" <? if (!empty($checkbox9)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> # of bids<br> <input type="checkbox" name="checkbox10" value="YES" <? if (!empty($checkbox10)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Time Left<br> <input type="checkbox" name="checkbox11" value="YES" <? if (!empty($checkbox11)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Location<br> <input type="checkbox" name="checkbox12" value="YES" <? if (!empty($checkbox12)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Country<br> <input type="checkbox" name="checkbox13" value="YES" <? if (!empty($checkbox13)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Started<br> <input type="checkbox" name="checkbox14" value="YES" <? if (!empty($checkbox14)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Ends<br> <input type="checkbox" name="checkbox15" value="YES" <? if (!empty($checkbox15)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Seller<br> <input type="checkbox" name="checkbox16" value="YES" <? if (!empty($checkbox16)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> Seller Rating<br> <input type="checkbox" name="checkbox17" value="YES" <? if (!empty($checkbox17)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> High Bidder<br> <input type="checkbox" name="checkbox18" value="YES" <? if (!empty($checkbox18)) echo "checked"; ?> <? if (empty($AuctionID)) echo "checked"; ?>> High Bidder Rating</p> <p> <input type="submit" name="Submit" value="Submit"> </p> </td> <td> <? if (!empty($AuctionID)) { include_once("./eBayAPI.php"); $E = new eBayAPI; $E->Init($AuctionID); if (!empty($checkbox3)) echo "Item Number: <b>".$E->GetItemNumber()."</b><br>"; if (!empty($checkbox5)) echo "Item Name: <b>".$E->GetItemName()."</b><br>"; if (!empty($checkbox6)) echo "Current Price: <b>".$E->GetCurrentPrice()."</b><br>"; if (!empty($checkbox7)) echo "Starting Bid: <b>".$E->GetStartingBid()."</b><br>"; if (!empty($checkbox8)) echo "Quantity: <b>".$E->GetQuantity()."</b><br>"; if (!empty($checkbox9)) echo "# of bids: <b>".$E->GetBids()."</b><br>"; if (!empty($checkbox10)) echo "Time Left: <b>".$E->GetTimeLeft()."</b><br>"; if (!empty($checkbox11)) echo "Location: <b>".$E->GetLocation()."</b><br>"; if (!empty($checkbox12)) echo "Country: <b>".$E->GetCountry()."</b><br>"; if (!empty($checkbox13)) echo "Started: <b>".$E->GetStarted()."</b><br>"; if (!empty($checkbox14)) echo "Ends: <b>".$E->GetEnds()."</b><br>"; if (!empty($checkbox15)) echo "Seller: <b>".$E->GetSeller()."</b><br>"; if (!empty($checkbox16)) echo "Seller Rating: <b>".$E->GetSellerRating()."</b><br>"; if (!empty($checkbox17)) echo "High Bidder: <b>".$E->GetBidder()."</b><br>"; if (!empty($checkbox18)) echo "High Bidder Rating: <b>".$E->GetBidderRating()."</b><br>"; } ?> </td> </tr> </table> </form> <hr><br> <? include_once("./eBayAPI.php"); $E = new eBayAPI; $E->Init($AuctionID); if (!empty($checkbox)) echo "<pre>".htmlspecialchars($E->GetItemHTML())."</pre>n<hr>"; if (!empty($checkbox1)) echo $E->GetItemHTML()."<hr>"; if (!empty($checkbox2)) echo "<pre>".$E->GetItemText()."</pre>n<hr>"; ?> </body> </html>
  19. Hi Jan and the others,# Have fun with testing this little script. Then tell me what you will do. It is easier than you all guys think!! ;-) <? /* // This is an Ebay class script. // This class can get the following information: // Auction Item Number // Auction End Date // Auction Item Name // Auction Current Price // Auction Starting Price // Quantity // # of Bids // Time Left // Location // Country // Date Auction Started // Date Auction Ends // Seller Name // Seller Rating // High Bidder (Returns 'Dutch Auction' if Auction Quantity is greater than 1) // High Bidder Rating (Returns 'Dutch Auction' if Auction Quantity is greater than 1) // //Public functions VOID Init($AuctionID) //Initialize the class, fetches all auction information STRING GetItemNumber() //Item number for the auction STRING GetItemHTML() //Complete html source of the auction STRING GetItemText() //Text of the auction (HTML Stripped out) STRING GetCurrentPrice() //Current price of the auction STRING GetStartingBid() //Starting bid for the auction STRING GetQuantity() //Number of items in the auction STRING GetBids() //Number of bids on the auction STRING GetTimeLeft() //Amount of time left in the auction as a strin STRING GetLocation() //Location of the auction STRING GetCountry() //Country of the auction STRING GetStarted() //Date auction started as a string STRING GetEnds() //Date auction is to end STRING GetSeller() //Seller name STRING GetSellerRating() //Seller Rating STRING GetBidder() //High bidder name STRING GetBidderRating() //High Bidder Rating //Private Functions Convert() CreateTextArray() ConvertHTMLToText() mTrim() */ class eBayAPI { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Private Variables var $ItemNumber; var $ItemHTML; var $ItemText; var $ItemArray; var $eBayURL = "http://216.32.120.136/ws/eBayISAPI.dll?ViewItem&item="; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Public Functions //Function Name: Init //Description: Initialize the class, fetch the auction information and // convert the html to text //Arguments: ItemNumber - the item number for the auction //Return: None function Init($ItemNumber) { $this->ItemNumber = $ItemNumber; $this->ItemHTML = implode('',file($this->eBayURL.$ItemNumber)); $this->Convert(); $this->CreateTextArray(); } //Function Name: GetItemNumber //Description: returns the item number for the auction //Arguments: None //Return: string, false if not found function GetItemNumber() { return $this->ItemNumber; } //Function Name: GetItemHTML //Description: returns the complete HTML for the auction //Arguments: None //Return: string function GetItemHTML() { return $this->ItemHTML; } //Function Name: GetItemText //Description: returns the Text of the auction, this is the HTML with the tags stripped //Arguments: None //Return: string function GetItemText() { return $this->ItemText; } //Function Name: GetCurrentPrice //Description: returns the current price of the auction //Arguments: None //Return: string, false if not found function GetCurrentPrice() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Currently") { return substr($this->ItemArray[$i+1],4); } if ($this->mTrim($this->ItemArray[$i]) == "Price") { $j = $i+1; $Kill = 0; while ($this->ItemArray[$j] != "Location") { $Tmp .= $this->ItemArray[$j++]; $Kill++; //kill a runaway loop if ($Kill > 20) return false; } return $Tmp; } } return false; } //Function Name: GetStartingBid //Description: returns the starting bid of the auction //Arguments: None //Return: string, false if not found function GetStartingBid() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "First bid") { return substr($this->ItemArray[$i+1],4); } } return false; } //Function Name: GetQuantity //Description: returns the quantity of items in the auction //Arguments: None //Return: string, false if not found function GetQuantity() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Quantity") { return $this->ItemArray[$i+1]; } } return false; } //Function Name: GetBids //Description: returns the number of bids on the auction //Arguments: None //Return: string, false if not found function GetBids() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "# of bids") { return $this->ItemArray[$i+1]; } } return false; } //Function Name: GetItemName //Description: returns the name of the item available in the auction //Arguments: None //Return: string, false if not found function GetItemName() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Item #") { return $this->ItemArray[$i-1]; } } return false; } //Function Name: GetTimeLeft //Description: returns the amount of time left in the auction //Arguments: None //Return: string, false if not found function GetTimeLeft() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Time left") { $j = $i+1; $Kill = 0; while ($this->ItemArray[$j] != "Location") { $Tmp .= $this->ItemArray[$j++]; $Kill++; //kill a runaway loop if ($Kill > 20) return false; } return $Tmp; } } return false; } //Function Name: GetLocation //Description: returns the location of the auction //Arguments: None //Return: string, false if not found function GetLocation() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Location") { return $this->ItemArray[$i+1]; } } return false; } //Function Name: GetCountry //Description: returns the country of the auction //Arguments: None //Return: string, false if not found function GetCountry() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Country" || $this->mTrim($this->ItemArray[$i]) == "Country/Region") { return $this->ItemArray[$i+1]; } } return false; } //Function Name: GetStarted //Description: returns the date the auction started //Arguments: None //Return: string, false if not found function GetStarted() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Started") { return $this->ItemArray[$i+1]; } } return false; } //Function Name: GetEnds //Description: returns the date when the auction will end //Arguments: None //Return: string, false if not found function GetEnds() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Ends" || $this->mTrim($this->ItemArray[$i]) == "(Ends") { return $this->ItemArray[$i+1]; } } return false; } //Function Name: GetSeller //Description: returns the seller of the auction //Arguments: None //Return: string, false if not found function GetSeller() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Seller (Rating)" || $this->mTrim($this->ItemArray[$i]) == "Seller") { if (!strstr("(",$this->ItemArray[$i+1])) return $this->ItemArray[$i+1]; else return substr($this->ItemArray[$i+1],0,strpos($this->ItemArray[$i+1],"(")); } } return false; } //Function Name: GetSellerRating //Description: returns the rating of the seller of the auction //Arguments: None //Return: string, false if not found function GetSellerRating() { reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "Seller (Rating)" || $this->mTrim($this->ItemArray[$i]) == "Seller") { if (strstr("(",$this->ItemArray[$i+2])) { //remove paranthesis from front of string $Tmp = substr($this->ItemArray[$i+2],1); //remove paranthesis from back of string $Tmp = substr($Tmp,0,strlen($Tmp)-1); return $Tmp; } else { //start after the first occurance of ( $Tmp = substr($this->ItemArray[$i+1],strpos($this->ItemArray[$i+1],"(")+1); //remove paranthesis from back of string $Tmp = substr($Tmp,0,strlen($Tmp)-1); return $Tmp; } } } return false; } //Function Name: GetBidder //Description: returns the high bidder in the auction //Arguments: None //Return: string, false if not found, "Dutch Auction" ifdutch auction function GetBidder() { if ($this->GetQuantity() > 1) return "Dutch Auction"; reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "High bid") { if ($this->ItemArray[$i+1] != "--") return $this->ItemArray[$i+1]; else return "No bids yet"; } } return false; } //Function Name: GetTimeLeft //Description: returns the rating for the high bidder in the auction //Arguments: None //Return: string, false if not found, "Dutch Auction" ifdutch auction function GetBidderRating() { if ($this->GetQuantity() > 1) return "Dutch Auction"; reset($this->ItemArray); for ($i=0;$i<count($this->ItemArray);$i++) { if ($this->mTrim($this->ItemArray[$i]) == "High bid") { if ($this->ItemArray[$i+1] == "--") return "No bids yet"; } if ($this->mTrim($this->ItemArray[$i]) == "High bid") { //remove paranthesis from front of string $Tmp = substr($this->ItemArray[$i+2],1); //remove paranthesis from back of string $Tmp = substr($Tmp,0,strlen($Tmp)-1); return $Tmp; } } return false; } /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Private Functions //Dummy function for ConvertHTMLToText function Convert() { $this->ItemText .= $this->ConvertHTMLToText($this->ItemHTML); } //Create an array for the text version of the auction function CreateTextArray() { $this->ItemArray = explode("r",$this->ItemText); } //Convert the auction HTML to Text function ConvertHTMLToText($document) { // $document should contain an HTML document. // This will remove HTML tags, javascript sections // and white space. It will also convert some // common HTML entities to their text equivalent. $search = array ("'<script[^>]*?>.*?</script>'si", // Strip out javascript "'<[/!]*?[^<>]*?>'si", // Strip out html tags "'([rn])[s]+'", // Strip out white space "'&(quot|#34);'i", // Replace html entities "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'(d+);'e"); // evaluate as php $replace = array ("", "", "1", """, "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(1)"); return preg_replace ($search, $replace, $document); } //trim multiple times function mTrim($Value) { return trim(trim(trim(trim(trim($Value))))); } } ?>
  20. Sorry Sean, I'm tired and didn't recognized you're not the author of the contributin. ;-)
  21. Right what you said. But A contribution should have implemented the whole code and for a programmer it should be easy to test a Zip package before posting anything. Seems that you are able to fix everything, also when you have only the half of the data???? What do you think you are here, in a do it yourself workshop. This is a sectin for contributed addons and no CVS development section. Look at that german news module. What the heck is that? When I start to do an addon, I shouldn't post it as a contribution. There has to be a little bit of order here.
  22. I tested your contribution and found no dokumentation, no working admin and not the right filedefinitions in the admin/includes/applikations_top.php Then the boxes files for the support desk are not included. Please check your quality before posting. A packket should be full integrateable into oscommerce. Please load up a full version of your package. This is not sourceforge here.
  23. manOn, I think it is useful to decide while setting up a special. To allow discount_max on that special or not. Maybe it can be a solution to let the shop-owner change the discount_maximum_allowed at the admin' specials.php, but only temporary. Maybe safe the value for discount_maximum which is used for a product in categories as a backup-value in a new column in the specials table. As max_discount_allowed_normal. When the product becomes a special, lets change the products really discount_maximum to that, which you want in case of special. If then the status of special is changed from green to red button, or deleted, it shoul be toggled to the backup discount_max_allowed again. I think then in categories has to be a sign, for the case a product is an active special. I missed that ever. You want to edit a product, and you are not able to see, whether it is signed as special or not in categories. But one thing is more important at the moment. To make the changes for the new checkout procedure. We have to be able to use the order_total modules and the ot_members_discount for the new version. As experienced TEP and oScommerce user I know, that in between one or two weeks the most people will use the new Snapshot for development of contributions. It makes no sence to below on the 2.2 any longer. We have in fact a new and better checkout now. It is a mess to change the modules, but it is neccessary now. The checkout has never been so logic.
×
×
  • Create New...