It's possible via layout XML
In your theme's local.xml
, add the following lines (before </layout>
):
<customer_account_create>
<reference name="customer_form_register">
<action method="setShowAddressFields"><value>1</value></action>
</reference>
</customer_account_create>
If you don't have a customized theme but a bought one, you should create a child theme for customizations like this.
Example
For the Ultimo theme, the theme resides in app/design/frontend/ultimo/default
(Ultimo is the "package", "default" the theme).
You should then create the directory app/design/frontend/ultimo/yourname/layout
and add a file local.xml
there:
<?xml version="1.0"?>
<layout>
<customer_account_create>
<reference name="customer_form_register">
<action method="setShowAddressFields"><value>1</value></action>
</reference>
</customer_account_create>
</layout>
Then configure the custom theme:
Answer to updated question
It's a totally different question now. To allow saving the telephone attribute of the customer in the registration form, you need to tell Magento that it is allowed to be used in that form (this was introduced in Magento 1.5 to prevent customers to modify arbitrary attributes that are not meant to be changed by them).
Write a setup script (as part of a new module, or an existing one if you already have a custom module dedicated to theme and configuration) which contains the following:
Mage::getSingleton('eav/config')
->getAttribute('customer', 'telephone')
->setData('used_in_forms', array('customer_account_create'))
->save();
Source: http://www.schmengler-se.de/en/2011/03/magento-1-5-neue-kundenattribute-im-backend-fomular-sichtbar-machen/
Go With the following path :
\app\design\frontend\base\default\template\persistent\customer\form\register.phtml
and comment the if condition from here. :
<?php if($this->getShowAddressFields()): ?>
otherwise get the telephone field outside the if condition.
Happy Codding. :)
Best Answer
There are no exit which function which will do it.
an customer attribute to Customer entity type
which will save the telephone to customer table. Which will show oncustomer registration,edit,checkout form
.See how to install an Customer attribute in magento Adding custom attribute to Customer
There it should no relation between billing/shipping telephone.
Also. need more detail checkout at http://excellencemagentoblog.com/blog/2011/10/02/customer-registration-fields-magento1-6/