ZC v1.3.9h
Database Patch Level: 1.3.9h
PHP v5.2.14
Contributions: CKEditor v3.4, Easy Populate v1.2.5.5, IH2 v2.0 Rev 8c, Order Steps Tableless v2.3.2, Quick Updates v2.04, SitemapXML v2.1.0
Originally built with 1.3.8a and upgraded to 1.3.9h a couple of months ago.
I recently needed to lock down some attribute text boxes to require input prior to adding to shopping cart. I have never done this before, so no idea if it ever would have worked.
I modified each TEXT option name to enable the "Attribute Required for Text" attribute flag.
In testing, the product is added to the shopping cart without forcing me to fill in the required text fields. Essentially, the required attribute flag does nothing.
I found some forum threads from 2007 regarding this issue, but I am somewhat confused as I can't duplicate problem in brand new install. Someone pointed to the "Google Sitemaps" SQL install patch as the culprit as it overwrote items in the configuration table. I have never installed the old Google Sitemaps contribution. I did however install SitemapXML (back when I was on v1.3.8a) which was the new replacement for Google Sitemaps.
As a test, I installed a fresh 1.3.9h in a test directory, brand new database, no contributions. The Attribute Required flag works perfectly.
I then installed SitemapXML. The Attribute Required flag still works perfectly. 
I then searched through a SQL dump of production database looking for the referenced Configuration values in this post. I could not find the following values in my production database (no clue why they are missing as I never installed Google Sitemaps):
Code:
INSERT INTO `configuration` VALUES ('', 'Product option type Select', 'PRODUCTS_OPTIONS_TYPE_SELECT', '0', 'The number representing the Select type of product option.', 0, NULL, '2007-03-19 17:57:39', '2007-03-19 17:57:39', NULL, NULL);
INSERT INTO `configuration` VALUES ('', 'Upload prefix', 'UPLOAD_PREFIX', 'upload_', 'Prefix used to differentiate between upload options and other options', 0, NULL, '2007-03-19 17:57:39', '2007-03-19 17:57:39', NULL, NULL);
INSERT INTO `configuration` VALUES ('', 'Text prefix', 'TEXT_PREFIX', 'txt_', 'Prefix used to differentiate between text option values and other option values', 0, NULL, '2007-03-19 17:57:39', '2007-03-19 17:57:39', NULL, NULL);
As a test, I inserted the following via Install SQL Patches into a test copy of my production database (from the 2007 forum post):
Code:
INSERT INTO `configuration` VALUES ('', 'Product option type Select', 'PRODUCTS_OPTIONS_TYPE_SELECT', '0', 'The number representing the Select type of product option.', 0, NULL, '2010-12-17 23:00:00', '2010-12-17 23:00:00', NULL, NULL);
INSERT INTO `configuration` VALUES ('', 'Upload prefix', 'UPLOAD_PREFIX', 'upload_', 'Prefix used to differentiate between upload options and other options', 0, NULL, '2010-12-17 23:00:00', '2010-12-17 23:00:00', NULL, NULL);
INSERT INTO `configuration` VALUES ('', 'Text prefix', 'TEXT_PREFIX', 'txt_', 'Prefix used to differentiate between text option values and other option values', 0, NULL, '2010-12-17 23:00:00', '2010-12-17 23:00:00', NULL, NULL);
This appears to have fixed the Attribute required flag as it is now functioning in my test copy of site.
Question, are the statements that I inserted above correct for Zen Cart 1.3.9h?
Bookmarks