इसे साफ करने के लिए आपको एक नया विस्तार बनाने की आवश्यकता है।
चलो विस्तार को बुलाओ StackExchange_Customer
।
आपको निम्न फ़ाइलों की आवश्यकता होगी:
app/etc/modules/StackExchange_Customer.xml
- घोषणा फ़ाइल
<?xml version="1.0"?>
<config>
<modules>
<StackExchange_Customer>
<active>true</active>
<codePool>local</codePool>
<depends><Mage_Customer/></depends>
</StackExchange_Customer>
</modules>
</config>
app/code/local/StackExchange/Customer/etc/config.xml
- कॉन्फ़िगरेशन फ़ाइल
<?xml version="1.0"?>
<config>
<modules>
<StackExchange_Customer>
<version>1.0.0</version>
</StackExchange_Customer>
</modules>
<global>
<helpers>
<stackexchange_customer>
<class>StackExchange_Customer_Helper</class>
</stackexchange_customer>
</helpers>
<resources>
<stackexchange_customer_setup>
<setup>
<module>StackExchange_Customer</module>
<class>Mage_Customer_Model_Resource_Setup</class>
</setup>
</stackexchange_customer_setup>
</resources>
</global>
<frontend>
<layout>
<updates>
<stackexchange_customer>
<file>stackexchange_customer.xml</file>
</stackexchange_customer>
</updates>
</layout>
<translate>
<modules>
<StackExchange_Customer>
<files>
<default>StackExchange_Customer.csv</default>
</files>
</StackExchange_Customer>
</modules>
</translate>
</frontend>
</config>
app/code/local/StackExchange/Customer/sql/stackexchange_customer_setup/install-1.0.0.php
- इंस्टॉल फाइल। नई विशेषता जोड़ देगा।
<?php
$this->addAttribute('customer', 'license_number', array(
'type' => 'varchar',
'label' => 'License Number',
'input' => 'text',
'position' => 120,
'required' => false,//or true
'is_system' => 0,
));
$attribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'license_number');
$attribute->setData('used_in_forms', array(
'adminhtml_customer',
'checkout_register',
'customer_account_create',
'customer_account_edit',
));
$attribute->setData('is_user_defined', 0);
$attribute->save();
app/code/local/StackExchange/Customer/Helper/Data.php
- मॉड्यूल मुख्य सहायक
<?php
class StackExchange_Customer_Helper_Data extends Mage_Core_Helper_Abstract
{
}
यह ग्राहक के लिए आपकी विशेषता को जोड़ देगा।
यह बैकएंड पर अच्छी तरह से काम करना चाहिए।
दुर्भाग्यवश आपको अब फ्रंटेंड टेम्प्लेट को मैन्युअल रूप से संपादित करना होगा क्योंकि मैगनेटो के पास कोई घटना या खाली ब्लॉक नहीं है जहां आप अपने खेतों को रख सकते हैं।
इसके लिए आपको निम्नलिखित की आवश्यकता है।
app/design/frontend/base/default/layout/stackexchange_customer.xml
<?xml version="1.0"?>
<layout>
<customer_account_edit>
<reference name="customer_edit">
<action method="setTemplate">
<template>stackexchange_customer/form/edit.phtml</template>
</action>
</reference>
</customer_account_edit>
<customer_account_create>
<reference name="customer_form_register">
<action method="setTemplate">
<template>stackexchange_customer/register.phtml</template>
</action>
</reference>
</customer_account_create>
</layout>
और अब टेम्पलेट।
app/design/frontend/base/default/template/stackexchange_customer/register.phtml
- पंजीकरण टेम्पलेट।
इसके लिए एक का क्लोन बनाते हैं /app/design/frontend/{package}/{theme}/template/persistent/customer/form/register.phtml
और बस इसे फॉर्म के अंदर कहीं डालें। मुझे यहां पूरी फाइल पोस्ट करने की जरूरत नहीं है। कृपया आप इसे व्यवस्थित करें
<li>
<label for="license_number"><?php echo $this->__('License Number') ?></label>
<div class="input-box">
<input type="text" name="license_number" id="license_number" value="<?php echo $this->escapeHtml($this->getFormData()->getLicenseNumber()) ?>" title="<?php echo $this->__('License Number') ?>" class="input-text" />
</div>
</li>
/app/design/frontend/base/default/template/stackexchange_customer/form/edit.phtml
इसके लिए एक क्लोन /app/design/frontend/{package}/{theme}/template/customer/form/edit.phtml
और फॉर्म के अंदर कहीं डालें:
<li>
<label for="license_number"><?php echo $this->__('License Number') ?></label>
<div class="input-box">
<input type="text" name="license_number" id="license_number" value="<?php echo $this->htmlEscape($this->getCustomer()->getLicenseNumber()) ?>" title="<?php echo $this->__('License Number') ?>" class="input-text" />
</div>
</li>
आप अनुवाद फ़ाइल भी बना सकते हैं। अनिवार्य नहीं है, लेकिन यह अच्छा है
app/locale/en_US/StackExchange_Customer.csv
"License Number","License Number"
कैश साफ़ करें और आपको सेट किया जाना चाहिए।