When a returning customer logs in, selected product attributes works fine. However when a customer uses the purchase without account (pwa) option, selected product attributes does not display either on the product confirmation page or on the order detail in the backend (admin) if the order is placed.
This is a difficult bug to track down; it took sometime to conclude that restore_contents() is the problem.
restore_contents() function is located in the shopping cart class.
To fix, go to catalog/includes/classes/shopping_cart.php
Look for function restore_contents() {
Then look for global $customer_id, $gv_id, $REMOTE_ADDR;
Add $languages_id to this line like so
global $customer_id, $gv_id, $REMOTE_ADDR, $languages_id;
or
global $customer_id, $gv_id, $languages_id, $REMOTE_ADDR;
Problem:
If you have used the existing system of loading product attributes based on easy populate(EP), easy populate basic (EPB) or easy populate advanced (EPA), you will quickly notice that the system is clumsy and very confusing. Partly because of the header names and the associated numbering. I posted a response here to clarify the confusion. Even with that write-up and my several years of experience, I still get confused! To add another dimension to the problem, if you have large amount of attributes, you will realized that you reach the 256 column limit pretty quickly considering that you use about three columns for each attribute option values and 2 columns for attribute names.
Solution:
Faced with a challenge to loaded over 5000 attribute option values, I have developed a new method that is user friendly, intuitive and fast. The method is very scalable to accommodate any amount of product attributes. It is particular suited for sites with large amount of attribute option values since there is no column or row limitation. You don’t have to worry about splitting files to separate small files because of timeout error. The method has been tested on a site with over over 40 attribute option and over 5000 attribute option values.
Here is live website on which this method has been applied: 
Contact me at if you are interested in using this method on your site.
Recent Comments