I have been struggling with this for quite some time.

I have a one page checkout (IWD), and on it I have 2 custom fields that I want the user to fill in. The fields already show, and validation happens. The one page checkout is a form that works on ajax (I'm not sure if it's the theme or the actual one page checkout, I was handed this project when it was almost finished).

Guest checkout is disabled, so in order to check out, the user has to fill in the billing address (which contain the two fields) and that then registers the user.

When a user submits this form, with these two fields filled in, I get an alert back that says the two fields are required. Now my thinking is as follows: Since it passes validation on the front end and fails on the back end, the fields aren't being submitted to user registration. These fields are required in user registration. I created the fields with Custom Registration Fields and set it to required in the admin section.

How would I go about getting these fields to post to the user registration? I've tried setting the user session and including these fields. I've also read through this answer.

Any assistance will be appreciated.

closed as off-topic by Fabian Schmengler, Raphael at Digital Pianism, Qaisar Satti, Amit Bera, Rajeev K Tomy Apr 18 '16 at 9:13

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about third-party modules are generally off-topic because the scope of functionality and code are not available. For more information, see this meta post/answer." – Fabian Schmengler, Raphael at Digital Pianism, Qaisar Satti, Amit Bera, Rajeev K Tomy
If this question can be reworded to fit the rules in the help center, please edit the question.


You can grab post data by $this->getRequest()->getPost('field_name', array());

You will need to change field_name to your desired name in .phtml file.

For example;

<input type="text" name="field_name[data_1]" value="customer_input_1">
<input type="text" name="field_name[data_2]" value="customer_input_2">

Then to retrieve those data use following:

$data = $this->getRequest()->getPost('field_name', array());
$customer_input_1 = $data[data_1];
$customer_input_2 = $data[data_2];

I believe, in order to record these data, you will need to create new table or column within existing magento tables.

  • Data is already being recorded on customer registration. Problem is, when you register using onepagecheckout, these values aren't posted to customer register – Albert Jun 5 '15 at 6:58
  • If that's the case then you will have to use your observer to send data to tables. See this link. – Adarsh Khatri Jun 5 '15 at 11:39

Not the answer you're looking for? Browse other questions tagged or ask your own question.