Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Magento 2 Checkout Missing Postcode

I recently discovered the site I am developing in Magento 2 is missing the Postcode field in the Shipping Address form on the checkout page. I have been digging around and cannot find any reason why it is missing. I found this bug someone opened with Magento but the solution mentioned does not work for me. The results I am seeing are the same though.

On /checkout/ in the Shipping tab the Postcode field is missing. But I am able to continue to the next step. However when I try to complete the checkout I get the error An error occurred on the server. Please try to place the order again. which I believe is because the address has no zip code. This is while checking out as a guest. I have tested checking out as a customer who already has an address saved and that lets me complete the checkout.

I have disabled all modules and returned to using the Luma theme for testing and I am seeing the same results. Unfortunately upgrading to 2.2 isn't an option at the moment as we are dangerously close to launch so we will have to update after launch. So I don't know if that update will fix this issue or not.

Magento CE 2.1.8

PHP 7.0.24

If anyone has any guidance or suggestions on how to find my missing field I would greatly appreciate it.

EDIT

The Phone number field is missing as well. While that isn't as much of a concern, it is probably missing for the same reason.

Also, I just realized that the data migration from our old site (1.9.3) seems to have caused the issue. I tested our new site with a DB before and after the migration and that is what caused us to lose the postcode field. Our data migration only contains Sales data and Customers - no products or categories. I'm digging in now to see what would have caused it. I have tried a reindex multiple times and that didn't solve it.

like image 952
rain2o Avatar asked Oct 30 '17 19:10

rain2o


1 Answers

Well I found the culprit. When we ran our data migration it seems that the tables eav_form_element and customer_form_attribute lost some information during the migration. The attributes got a little shuffled up. The quick fix was to add in the missing postcode and phone number fields into the appropriate tables. I still need to go back and figure out where I went wrong in the migration configuration.

like image 180
rain2o Avatar answered Sep 30 '22 21:09

rain2o