1

What is the best way to go about removing unnecessary fields during the checkout process? I do not need to collect my customer's company name and fax number, and therefore would like to remove.

1
  • Which Edition do you want to make not required those fields, Magento 1 or Magento 2 ?
    – Thangam
    May 18, 2018 at 5:56

4 Answers 4

3

As these fields are not required you can simply remove them from the following template file.

  1. /app/design/frontend/base/default/template/checkout/onepage/billing.phtml
  2. /app/design/frontend/base/default/template/checkout/onepage/shipping.phtml

But changing the core template is never the best idea for many reasons one of which being upgrade-ability. I would always suggest setting new templates via layout xml and then editing these new templates.

<?xml version="1.0"?>
<layout version="0.1.0">    
    <checkout_onepage_index>
        <reference name="checkout.onepage.billing">
            <action method="setTemplate"><template>new/checkout/onepage/billing.phtml</template></action>
        </reference>
        <reference name="checkout.onepage.shipping">
            <action method="setTemplate"><template>new/checkout/onepage/shipping.phtml</template></action>
        </reference>
    </checkout_onepage_index>
</layout>

On a side note if you ever need to find templates you can activate the template hints via the admin section

A good article from classy llama for benefits and disadvantages of layout changes via xml.

2
3

Both fields are not required, therefore not checked server side. Just remove them from the template.

2
  • Do you know where I would find the template to edit these files? Oct 24, 2013 at 20:40
  • I think @david-manners answered your question :) Oct 26, 2013 at 9:47
0

As these are optional fields, is there any reason not so simply blank them via css (hopefully protecting from future updates to the code itself)? For example:

input#billing\:fax {display:none;}
label[for=billing\:fax] {display: none;}
input#billing\:company {display:none;}
label[for=billing\:company] {display: none;}

The colon is a pain admittedly, but it does work

0

The answer that was voted correct (https://magento.stackexchange.com/a/9958/9542) seems overkill to me. While there are multiple methods to do this, that being one, I think the better way is to simply update the files in your custom theme. If you do not have one, you can make a new one, set your configuration to the new template path. If those are the only literal changes you are making, your theme folder will only have the folders and files for those two items that you will copy over from the base theme.

checkout/onepage/billing.phtml checkout/onepage/shipping.phtml

You will grab these from \app\design\frontend\base\default\template\checkout\onepage\

Then copy them into:

\app\design\frontend\YOURTHEMEPACKAGE\YOURTHEMENAME\template\checkout\onepage\

Make your changes to the file, and be sure your theme is set in the administration backend (System > Configuration > Design).

This will still keep your site "upgrade friendly" as the files in the base theme are still in-tact.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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