Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

dblake

Archived
  • Posts

    841
  • Joined

  • Last visited

Everything posted by dblake

  1. Yes the css is prolly causing the problem. I looked at your source code and the input for the wishlist is a "submit" button. It needs to stay as a "image" submit button. It has properties that HAVE to stay the same for it to work right. Cuz right now its just acting as a submit button and will submit the form. I have it setup that it sets a certain parameter and in your application top, it sees that parameter and does the wishlist functions instead of the shopping cart functions. That's why on the application top file I put a comment that says "Must be before Shopping Cart actions". -Dennis
  2. Did you do both parts of step 11? -Dennis
  3. Make sure you have the most recent catalog/includes/classes/wishlist.php file. It has that function "count_wishlist" added into the bottom. -Dennis
  4. I will do it tonight, and yes its fairly easy but when I have bosses breathing down my neck for stuff its hard to take time and write it out for you. Give me a few hours to get back to ya. -Dennis
  5. Find this query # show the contents $products_query_raw = tep_db_query("select * from customers_wishlist where customers_id = '". You this query as an example to change your above query. To get the price and the name. See how the tables are "LEFT JOIN" in? You need to do the same. $products_query = tep_db_query("select pd.products_id, pd.products_name, pd.products_description, p.products_image, p.products_status, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where pd.products_id = '" . $product_id . "' and p.products_id = pd.products_id and pd.language_id = '" . $languages_id . "' order by products_name"); -Dennis
  6. No I think that will work fine. I didn't know exactly how to use REGEXP so I assumed that it would just search the beginning of the string and get confused such as product id 1 or 11. But the way he has it setup it searches all the way to the bracked ({) if it has attributes. Is a very good fix, hats off to Janz ;) -Dennis
  7. The previous wishlist_stats, I think housed the product name, model number, and price in that table. I did not do that because prices and names can change. What you need to do is join the products and products description tables into the query to query your name, price, and model number. -Dennis
  8. Carlos try this fix out by Janz. Actually hold off on this for a minute, I don't think its a good fix. -Dennis
  9. Yes its a flaw. The osc guys prolly nvr thought of someone adding something to their cart and not buying it for a while and during that time, the product was discontinued and therefor was deleted. So that customers shopping cart and wishlist will be messed up. I know what needs to be done to fix this, i just dont have the time and I want to think it out more. ;) Damn attributes make everything hard. Worse thing in osc is the way they handle attributes... -Dennis
  10. Right I did the same exact thing, but I dont get that problem. Everything is installed correctly and you have the most recent files? Seems weird to me why you can logout, log back in and your items appear back in the wishlist but they don't show in cart when you add it. I dunno I'm at a loss. It's hard to troubleshoot without seeing the code. I'm out of ideas. -Dennis
  11. I can't duplicate this. You shouldn't need to close the browser down, if you logoff, it will destroy the wishID session and your cartID session too. When you add things to your cart, are you adding from the wishlist? Are you adding the product from the product pages to the cart and maybe its the wrong attributes matched up in the wishlist? I dunno what it could be, but everything works fine for me. Carlos do you have this problem? -Dennis
  12. Ok for 1, if you would have updated to 3.5d from my download you have have seen this as step 15. I know why you didn't since your heavily modified but what you did is correct. 2. The problem basically is the id number. For instance, a product has a a whole number 27 (ex.) for an id number. When you add attributes to the product you get a number like so 27{5}3. Now when you delete the product from the table and in turn delete it from the wishlist table, if the product had attributes added to it, it wouldnt delete because the id number wouldn't be the whole number. Make sense so far? Now probably the easiest way to do this is by adding another field to the wishlist tables. Field name would be: main_product_id. Then everytime a product is added to the wishlist with attributes, you can still record the main product id so when you delete that product in admin, you can then bump the wishlist delete to the main_product_id. That only solves half the problem though. What if you remove just an attribute from a product? Ya I dunno how to solve this without putting in tons of checks. I'll try to put together a fix for this when i have time as I will have to think this one out. Does that make sense? -Dennis
  13. Na shouldn't conflict with anything in the checkout. All the function does is query the table customers basket, to get the contents of whats in there cart. Then it removes that product number out of the wishlist table and out of the session. Nothing should conflict. -Dennis
  14. Hmm, that should of worked i thought LOL, ok let me test this myself and I will post what i find. //UPDATE Hmm, this worked for me. What exactly is the problem? Here is what I did. Logged into a test account (my test site), added three things to my wishlist, then from the wishlist added two things to the cart. The items showed, "Item in Cart" then I checked out. It removed the two products I added to the wishlist from the session and the db. I even checked diff attributes with one product and that worked too. -Dennis
  15. I didnt notice your name on the end of the post and went off "Jeff" thats in your profile info. My appologies Adrienne. That information your referring to is in the language file. Ill look into why that says "your" instead of just name. -Dennis
  16. Ok Jeff I think I have a fix for you, I havent tried it so do you mind? ;) Open checkout_process.php find $wishList->remove(); Change to: $wishList->clear(); Then open up includes/classes/wishlist.php Find this function function clear() { global $customer_id; // Remove all from database if (tep_session_is_registered('customer_id')) { $wishlist_products_query = tep_db_query("select products_id from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . $customer_id . "'"); while($wishlist_products = tep_db_fetch_array($wishlist_products_query)) { tep_db_query("delete from " . TABLE_WISHLIST . " where products_id = '" . $wishlist_products[products_id] . "' and customers_id = '" . $customer_id . "'"); tep_db_query("delete from " . TABLE_WISHLIST_ATTRIBUTES . " where products_id = '" . $wishlist_products[products_id] . "' and customers_id = '" . $customer_id . "'"); } } } And change to function clear() { global $customer_id; // Remove all from database if (tep_session_is_registered('customer_id')) { $wishlist_products_query = tep_db_query("select products_id from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . $customer_id . "'"); while($wishlist_products = tep_db_fetch_array($wishlist_products_query)) { tep_db_query("delete from " . TABLE_WISHLIST . " where products_id = '" . $wishlist_products[products_id] . "' and customers_id = '" . $customer_id . "'"); tep_db_query("delete from " . TABLE_WISHLIST_ATTRIBUTES . " where products_id = '" . $wishlist_products[products_id] . "' and customers_id = '" . $customer_id . "'"); // Remove from session unset($this->wishID[$wishlist_products[products_id]]); } } } Let me know if that works, then I will update the files to 3.5e. -Dennis
  17. Ok I will look at that, I think I know why. The wishlist for customers is stored in the database and in the session. I think when the checkout goes, it deletes from the db, but doesn't delete from the current session. Dunno if that makes sense to you, but i know why and I will have a fix up today. Also if your a guest, thats the only time you should see "Your Name" and "Your Email" right? Those are "your" information because the server needs to know who is sending the information. Make sense? -Dennis
  18. Ok Irin, the <osCsid> is your session id name and then the number following that is the session id. This is not a problem and normally is gone after a cookie is set for the user and the will remove that number. The number is still there only stored in the cookie. If you disable cookies, that number will always be present. Now about the 44{3}5: That is the actual product number. Main product is 44, attribute id is 3, and the attribute value is 5. Now are you clicking from the wishlist page on the product name? Then its taking your to product_info.php and giving you that error? What happens if instead of adding to wishlist you add a product to the shopping cart that has attributes? Then click on that link and go back to the product_info.php page from the shopping cart. Do you get the same error? I am pretty sure you do because of the product bundle modification. Let me know, Dennis
  19. No, its your other contribution. That curly bracket stuff is the attributes. If you add a product to your shopping cart its the same thing. It's your other contribution causing the problem. -Dennis
  20. Best way is to make it a link. I dont think there is another way. Basically you have your delete button next to each one. You gonna have to link it to a page to delete the product then redirect back to the wishlist. Like so: <a href="<? echo tep_href_link('delete_prod.php', 'delete_id=' . $$idvalueofthatprod); ?>"><img src-"delete.gif"></a> //delete_prod.php /* regular beginning code */ $delete_id = $_GET['delete_id']; $wishList->remove($delete_id); tep_redirect(tep_href_link('wishlist.php')); /* regular footer code */ That way it can be dynamic without having to redesign the forms on your page. -Dennis
  21. Actually you may have to do it differently. You may have to specify the value (id number) in the delete button. Cuz if you were to press delete for one product, it will probably delete all the products. You know what I mean? -Dennis
  22. LOL your too funny. ;) Ok, look at your code and you will see why its doing this. You gonna have to rewrite some functions to make this work like you want but its a real easy rewrite. All you need to do is change the input name. Ok look at this for you delete button. <input type="hidden" name="add_wishprod[]" value="<?php echo $wishlist_id; ?>" /> Thats also the same name as the checkbox. So its checked essentially. You need a diff input. Maybe delete_wishprod[]? Then you need to change the delete function for the form to reflect this and that should solve your problem -Dennis P.S. I bet your like Ohhhhhhhhhhhhhhhhhhh, duhhh ;)
  23. My advice is to ask in the products bundle thread. I have nvr used that contribution. -Dennis
  24. I finally understood what you were saying. Had to read it 4 times to finally get it. Well you have an understanding of how stuff works so this should be easy for you. Just make a new messagestack. You can even change the names if you want. For instance, right now the success is this $messageStack->add('wishlist', WISHLIST_SENT, 'success'); Make a new one for your error. $messageStack->add('wishlist_error', 'ADD ANOTHER FOR EACH ERROR TEXT 'error'); Then echo that one for your errors. Get it? ;) -Dennis
  25. foreach error is basiclaly an empty foreach. Thats why I put in the error checking. That should of resolved that error. Carlos, Do this. $currencies->display_price($attributes_values['options_values_price']); If that shoots you an error you may need the second instance of that function. So if the above code doesn't work use this. $currencies->display_price($attributes_values['options_values_price'], tep_get_tax_rate($products['products_tax_class_id'])); -Dennis
×
×
  • Create New...