Jump to content

Welcome, Guest!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

Dolfijn

Members
  • Content Count

    35
  • Joined

  • Last visited

Community Reputation

2 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I just stumbled on the error "Property Order-> Carrier id is Empty" when trying to create a manual order. Trying again generates the same message. The order is also not created. What I did to circumvent the problem was using the link to the front office to finalize the order process as the customer would. That worked well. But I think this kind of problems in the order process should not happen. I checked the table ps-order for the carrier-id in the order record that in the end succeeded. And, of course, this carrier-id also exist in the table ps_carriers. The text associate with this carrier-id also was shown in the BO when I tried to add the order manual in the first place (which ended with the error message). To be clear, the error thus only appears when using the create button. Using the link to the FO works fine. I'm running bleeding edge. What to do now?
  2. Final solution : it turns out that this bug (not getting the Shop ID from the current context) is already fixed in the Mail::Send function. Only available in bleeding edge. So I migrated to the latest greatest and it all works well. Thanks for the pointers.
  3. The reported problem turned out to be slightly different then it appeared at first sight. It was a combination of an email address that didin't exist and and a bug in the ContactController which caused the code to ignore multishop settings. Easy to make wrong conclusions then. The shop ID is never parsed to the function Mail::Send. So it uses the default value of null. And thus will never select the right logo or shop name in a multi shop environment. I added a line of code to get the shop ID from the current context (this->context->shop->id) and parsed the value into the Mail::Send function (at three location as there are three possible execution flows). Et voilà, it now works correctly when using multiple shops. So, the emails send use the correct shopname and logo. Changed code looks as follows (ContactController.php) : $idShop = (int) $this->context->shop->id; if (empty($contact->email)) { Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $varList, $from, null, null, null, $fileAttachment, null, _PS_MAIL_DIR_, false, $idShop, null, null); } else { if (!Mail::Send( $this->context->language->id, 'contact', Mail::l('Message from contact form').' [no_sync]', $varList, $contact->email, $contact->name, null, null, $fileAttachment, null, _PS_MAIL_DIR_, false, $idShop, null, $from ) || !Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $varList, $from, null, null, null, $fileAttachment, null, _PS_MAIL_DIR_, false, $idShop, null, $contact->email) ) { $this->errors[] = Tools::displayError('An error occurred while sending the message.'); } } } So I think this is a bug. But as always with the wonderful world of PS/TB, I'm never sure because I'm not deeply involved. But it works for me.
  4. Still struggling with the multi store settings as they look ok to me. So I looked in the database. At least there it is obvious that the tables ps_shop and ps_shop_group and ps_shop_url are sound. But ps_configuration doesn't look ok. A lot of names like PS_NAME, PS_SHOP_NAME, PS_SHOP_MAIL, PS_SHOP_EMAIL have either a group ID, shop ID of 1, 2 (shop B) or those values are null, null for shop A (I would expect 1, 1). Also not all names exist for both shops? I can easily change the values of shop A to the correct group and shop ID. I can also add the missing names. Should I make does changes? Second thing that I looks strange to me is that when the emails are composed, the shop context always returns a shopId of 0 (hence the default name and logo). But I would expect a shopId of either 1 or 2 again. When I force the ID to 1 or 2, I get the correct shop name and logo..
  5. Ok, thanks for the explanation. I will study the settings and play around with them in a test domain. Until I grasp the concept. Thanks again.
  6. Hi there. The problem of not sending the emails is solved (with the help of Datakick). TB was using a non existing email address. As far as I understand that was due to a misconfiguration but I'm not sure of that anymore. The reason for my hesitation is that although the emails are send correctly, the shop name and logo are of the wrong shop (yes, I'm using a multishop config). As far as I can understand this is the situation now: There are two shops A and B. And A was using a non existing email address. And B the correct one. But if a user visits the domain of shop B and uses the contact-us page, the emails are (now) send using the shop name, logo and address of shop A (which is very confusing for a customer). The above email problem was therefore fixed by configuring shop A and B with the same email address (being that of shop B). That would explain that the 'right' email address is used and the wrong logo and shop name. Can that be true? I checked the multistore settings and I'm quite confidant that the settings of shop B are correct.
  7. Ok, I'm happy to grant you access to the backoffice. If you have an email address or something I can send you the credentials and url.
  8. I have upgraded to 1.1 stable 🙂 Unfortunately, it did not resolve my problem (both mails are not send). I checked the new code and found out that it indeed restores to the default 'en' language versions of the templates. But I was already using them as I only run the shop in English. I also think that the email templates have moved? I'm using a customized theme (from PS 1.6.X) and I thought that the email templates were used from the theme directory. But anyway, I don't think I have an email template problem (also no mention of any problem in the error log). I also checked if both Mail::Send function fail and they both do. Maybe there is a problem in using the old PS 1.6.x theme? Because I'm using the old PS 'contact-form.tpl' file to render the contact-us page. If I use the TB version, the send button doesn't work any more (among other things). So I switched back to the old PS version.. So, I think I should have a look in the Mail::Send function itself? I already checked the input paramaters. They all look good. P.S. The log shows some errors 3132 " CustomerThread deletion". Is that indicating something significant issue for this problem?
  9. Thanks for the replies! The four template files are there but I think I will first upgrade to 1.1.X so I can use the better error handling / logging and then try to solve the issue.
  10. Hello, I'm puzzled why I can't get the contact-us form not working anymore. My email system is working fine with test messages and also messages are send correctly during the order process. But when anybody submits the contact-us form, there is an error message displayed after some 10 seconds or so (and the submitted info is stored in the backoffice). I'm using TB 1.08 and I have migrated from PS 1.6.18 (half a year ago or so). I already looked at the code in the ContactController.php and was able to figure out that it is the error message that is generated in this function: if (empty($contact->email)) { Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $varList, $from, null, null, null, $fileAttachment); } else { if (!Mail::Send( $this->context->language->id, 'contact', Mail::l('Message from contact form').' [no_sync]', $varList, $contact->email, $contact->name, null, null, $fileAttachment, null, _PS_MAIL_DIR_, false, null, null, $from ) || !Mail::Send($this->context->language->id, 'contact_form', ((isset($ct) && Validate::isLoadedObject($ct)) ? sprintf(Mail::l('Your message has been correctly sent #ct%1$s #tc%2$s'), $ct->id, $ct->token) : Mail::l('Your message has been correctly sent')), $varList, $from, null, null, null, $fileAttachment, null, _PS_MAIL_DIR_, false, null, null, $contact->email) ) { $this->errors[] = Tools::displayError('An error occurred while sending the message 3.'); } but I don't understand why this can happen. I also don not understand why I can't find only one .tpl file (contact-form.tpl, I would expect also a contact.tpl file). And what does this code do? Is it trying to send two mails (I'm not an php expert)? I'm afraid that I'm missing something. Any help is apprectiated a lot! Edit: I already figured out that there are indeed two templates for the emails. I'm afraid I have to debug the Mail::Send function to find the cause of this issue. But I'm still not sure what the code above is doing exactly..
  11. I solved it! Problem was indeed the individual bees tables that had the latin1 char set. I solved it by exporting these tables to a sql file. There I changed the encoding to utf8 and then dropped, create, insert the new tables. And now I can use the special symbols too. Thanks for all suggestions, especially those from musicmaster! By the way, if I had payed attention to the TB Server Requirements, I would have configured MySql with full UTF-8 support. And this problem would never have occured in the first place 🙂
  12. I checked. But first I have to mention that I made an error looking up the default collation. Is is not utf8mb4_unicode_ci  as I reported but latin1_swedish_ci. Also, i found out that each individuel table uses Colloation utf8_general_ci. Except for all the bees blog tabels. They are all in latin1_swedish_ci. I guess that is due to the fact that the MySQL version I use has a default 'latin1' config. And all the other tables are imported from PS and in the sql export file, all tables are declared with " ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;" So, I now expect that if a change the charset of the bees blog tables to utf8 the problem will be solved. Agree? By the way, should I change the default collation into utf8mb4_unicode_ci too (and the default char set to utf8) at the database level?
  13. Sorry, I forgot. I pasted the symbols in the title of a test product. And then all the symbols are displayed correctly!! Both in backend and front-end. What does this mean?
  14. That gives : ?? ???? ?????, ????? ????????, ? ????? ??????. ? ????? ???????????? ?????? ? ???? ???????, ? ?? ??????, ??????, ??????… From what I understand, the mysql database is using UTF-8 instead of utf8mb4. I think I will give changing the sql db charset a try..
  15. I also looked up the server configuration: Server: Localhost via UNIX socket Server type: MySQL Server connection: SSL is not being used Server version: 5.6.42 - MySQL Community Server (GPL) Protocol version: 10 User: Server charset: UTF-8 Unicode (utf8) From what I now understand, the problem could be in the charset UTF-8 (uses only three bytes). It should be utfmb4 (uses 4 bytes). Can that be right?
×
×
  • Create New...