Jump to content
thirty bees forum

Question

Posted (edited)

Hello, when customer is placing an order (with login or as a guest), the Order message is not showing either in the backoffice nor in the customer's history.

It is the message, which customer can leave directly in order process after the cart.  (e.g. please do not ship before may 4th),

I can see this tab in BO and it is blank, even when a customer definitely leaves a message for us.

Where do I find some code where the message configurations are stored?
I have already looked in the database at tb_order_message and there is no content.

Thank you!

(for information:  we have content there in the BO when a customer leaves a message for an order/item in his customer account, so this works,  i find these in database  `tb_customer_message`)

(2nd:  i know that there was a bug with PS 1.6,  but can not find any about this, also in 1.7 it was with an bug and they have fixed it,  something with AdminOrdersController i think....), @datakick says in this topic, he will include something with the messages in core for the next version, not sure if this is already done or maybe this can be a solution or the problem? see here:  https://forum.thirtybees.com/topic/3642-in-need-of-much-longer-order-message-than-core-allows/?do=findComment&comment=31955

and a picture of our BO with NO message showing:

 

tb_ordermessagenotshhowing.jpg

Edited by DRMasterChief

14 answers to this question

Recommended Posts

  • 0
Posted (edited)

Dear @yaniv14  thank you for the information.  I have this php file  and exactly the content of Github,  lines 652-663 are exactly like this, but this does not work.

In database  tb_message column there is no content, nothing.

I have tried this in line 661:         $msg->private = 0; 

but also no luck.  Can it depend on the Theme? 

Edited by DRMasterChief
  • 0
Posted

Messages to orders in TB are working properly. If you don't have these messages in tb_customer_message table, it is a bug in your theme.

  • 0
Posted
22 minutes ago, DRMasterChief said:

and i have made an test:  in order_conf  E-Mail which is sent to me i get  'No message'  (which is not true)

By default, PaymentModule class does not pass the message variable to order_conf email. You must have modified PaymentModule class, maybe you have errors in this modification?

  • 0
Posted

@DRMasterChief I have pointed you to the wrong lines in the code.

I just took a quick look at the code and it seems like the message initialy saved at checkout under tb_message column.

at validateOrder its being fetched from previously saved at checkout, and than being assigned the newly created order id.

https://github.com/thirtybees/thirtybees/blob/main/classes/module/PaymentModule.php#L917

at that point also customer_message & customer_thread are being saved.

my guess is that your order process is not saving the message.

https://github.com/thirtybees/thirtybees/blob/main/controllers/front/OrderController.php#L401

https://github.com/thirtybees/thirtybees/blob/main/controllers/front/ParentOrderController.php#L253

  • 0
Posted

you can check if the message textarea field has the name "message" or you can check the payload (from network tab) sent to the server if "message" is included at some point

  • 0
Posted (edited)

Hi,  yes it is named message:

<div id="ordermsg" class="form-group">
            <label>leave a message</label>
            <textarea class="form-control" cols="60" rows="6" name="message"></textarea>
        </div>

but in the next step i can not see the 'message' anywhere sent to the server. 

This exactly names the error, but i can NOT fix it with this:  https://www.prestashop.com/forums/topic/338036-solved-opc-comments-about-order/ 

Edited by DRMasterChief
  • 0
Posted

Did you try to add an ID to the textarea?

<textarea class="form-control" cols="60" rows="6" name="message" id="message"></textarea>

  • 0
Posted

Yes, have tried this too.  At the moment it is like this:

    {if !$opc}
        <div id="ordermsg" class="form-group">
            <label>{l s='If you would like to add a comment about your order, please write it in the field below.'}</label>
            <textarea class="form-control" cols="60" rows="6" name="message" id="message">{if isset($oldMessage)}{$oldMessage}{/if}</textarea>
        </div>
    {/if}

 

The   {if !$opc}  makes it only working when OnePageCheckout (OPC)  is on.  I do not have OPC on,  i have changed the cart workflow to the 3-Page-Checkout  (3 page checkout (sort of) for Community-Default-Theme - Themes - thirty bees forum), but there i can not find anything which can cause this problem.

I have also tried to get rid of the  {if !$opc} , but then i get a 500 error.

It seems to be a 'deeper' problem than just to add an ID to message or something like that, i´m afraid. Problem is, i can not find anything and i was planning to go live with the shop in 2 days....  working for months on the shop and now this small thing 🤕 - but the comment field is very important for us and customers.

Last thing is, to delete the comment field for the moment, but then we have a lot to clarify by e-mail for most of the orders. Not a good option.

 

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...