Hello, I am having some template related issue resulting in
Your order's details have changed. Please review the current values and re-submit.
Fresh zencart 1.5.6.b with only CEON URI installed and the OPC 2.2.2.
When I test it with the responsive template OPC seems to work nicely, but when I change to my template GOODWIN something goes wrong and
Message Your order's details have changed. Please review the current values and re-submit. appears.
I am using only cod as payment and store pickup delivery.
What may cause this error? It is quite possible something from the template part but where to look for?
Kind regards.
My most recent work: magprom.net
That themeforest template, as others from that template-provider, make various non-standard changes to the store's /includes/templates/YOUR_TEMPLATE/templates/tpl_modules_order_totals.php. Those changes make it so that OPC can't locate the order's current total, resulting in that 'details changed' message.
I'll update the One-Page Checkout documentation to indicate that all templates from themeforest are problematic.
I might be able to work out something. If you enable the One-Page Checkout's debug ... just prior to clicking the "Confirm" button, an OPC log will be created in the site's /logs directory that will identify what the underlying loop-back issue is.
I'll PM you my direct email address and you can send me that log for analysis.
Yes I have the debug file you can download it from http://autofox.net/OPC.log
Thank you in advance.
Last edited by perfumbg; 4 Feb 2020 at 05:09 PM.
My most recent work: magprom.net
Hi, Lat9
I have researched how preg_match works and was able to do some matches in test files but I'm totally lost on how to properly implement it in Zencart..
Tried this but I know there needs to be more code involved.
I'm looking for a way to limit the company name to only alphanumeric Characters with the appropriate warning if the rule is not followed.
Here's what I tried in includes/modules/clone_classic/create_account.php around line 130 but no joy.
Thank You for Your time.
Code:if (ACCOUNT_COMPANY == 'true') { if ((int)ENTRY_COMPANY_MIN_LENGTH > 0 && strlen($company) < ENTRY_COMPANY_MIN_LENGTH) { ////// ADDED 02-04-2020 if (preg_match('/^/[A-Za-z0-9]$/', $company)); { ////////// $error = true; $messageStack->add('create_account', ENTRY_COMPANY_ERROR); //// } //// } }
Try changing that to
Code:if (ACCOUNT_COMPANY == 'true') { if (((int)ENTRY_COMPANY_MIN_LENGTH > 0 && strlen($company) < ENTRY_COMPANY_MIN_LENGTH) || !preg_match('/^/[A-Za-z0-9]$/', $company)) { $error = true; $messageStack->add('create_account', ENTRY_COMPANY_ERROR); } }
Excellent!!! Works after a slight mod. Removed the / after the circumflex and added + before the $ sign to repeat characters.
What was the purpose of the /
Also tweaked the "ENTRY_COMPANY_ERROR" Define.
Thank You for Your Time and Expertise!
Code:if (ACCOUNT_COMPANY == 'true') { if (((int)ENTRY_COMPANY_MIN_LENGTH > 0 && strlen($company) < ENTRY_COMPANY_MIN_LENGTH) || !preg_match('/^[A-Za-z0-9]+$/', $company)) { $error = true; $messageStack->add('create_account', ENTRY_COMPANY_ERROR); } }