Jump to content

[Resolved] Database Has (Sort Of) Lost Previously Collected Mandatory Data - BUG in v5 Skin


Daamon

Recommended Posts

14 minutes ago, bsmither said:

Is what I am looking at above, an order that has never been edited? Are you saying that even for orders that have not been changed, you have never seen the text-based options displayed on the Inventory tab?

@bsmither "Yes" to all questions. Correct.

18 minutes ago, bsmither said:

and that an unedited order will have the necessary data in the database table CubeCart_order_inventory "product_options" and "options_array" columns

...this is the stuff we checked earlier in this thread, right?

Link to comment
Share on other sites

  • Replies 79
  • Created
  • Last Reply

Top Posters In This Topic

Right.

Have we assured ourselves that your store does not have a plugin that uses the 'class.catalogue.display_product_options' hook?

I fear that we now need to get down and dirty about the level of troubleshooting we need to do. Please send me a PM with your email address.

Link to comment
Share on other sites

The original issue has been resolved. Details, courtesy of a LOT of offline help and investigation by @bsmither:

In the skins/mican/templates folder the Mican template file content.product.php, lines 86-90, where productOptions are being populated, the variable used is {$OPT.assign_id} but should be {$option.assign_id}.

A bug report has been filed: https://github.com/cubecart/v6/issues/1196

Apparently, this issue may well be present in a number of CC5 front-end skins.

This fix also addresses customer-entered text not showing on the Inventory tab: 

 

Edited by Daamon
Link to comment
Share on other sites

When the customer is viewing the product, text-based product options have this form element. The first is the template code, the second line is an example of the rendered HTML:

<input type="text" name="productOptions[{$option.option_id}][{$option.assign_id}]"
<input type="text" name="productOptions[117][52]"

(The above is correct  for Foundation.)

Almost all other skins have a bug that has {$OPT.assign_id}, which causes the actual element to be rendered as, for example:

<input type="text" name="productOptions[117][]"

CubeCart then stores the chosen options as an array with zero as the second-level key - which is not correct. This causes all sorts of mayhem in later operations.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...