Temizlemek için yeni bir uzantı oluşturmanız gerekir.
Uzantıyı arayalım StackExchange_Customer
.
Aşağıdaki dosyalara ihtiyacınız olacak:
app/etc/modules/StackExchange_Customer.xml
- beyan dosyası
<?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
- yapılandırma dosyası
<?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
- yükleme dosyası. Yeni özniteliği ekleyecektir.
<?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
- modül ana yardımcısı
<?php
class StackExchange_Customer_Helper_Data extends Mage_Core_Helper_Abstract
{
}
Bu müşteri için özniteliğinizi ekleyecektir.
Arka uçta iyi çalışması gerekir.
Maalesef, Magento'nun şu anda el ile düzenlediği şablonları düzenlemelisiniz, çünkü Magento'nun alanlarınızı koyabileceğiniz herhangi bir etkinlik veya boş blok bulunmuyor.
Bunun için aşağıdakilere ihtiyacınız var.
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>
Ve şimdi şablonlar.
app/design/frontend/base/default/template/stackexchange_customer/register.phtml
- kayıt şablonu.
Bunun için bir klonu yapın /app/design/frontend/{package}/{theme}/template/persistent/customer/form/register.phtml
ve bunu formun içine bir yere yerleştirin. Dolu dosyayı buraya göndermeme gerek yok. Lütfen istediğiniz gibi düzenleyin
<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
Bunun için klonlayın /app/design/frontend/{package}/{theme}/template/customer/form/edit.phtml
ve formun içine bir yere yerleştirin:
<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>
Ayrıca çeviri dosyasını da oluşturabilirsiniz. Zorunlu değil ama olması güzel
app/locale/en_US/StackExchange_Customer.csv
"License Number","License Number"
Önbelleği temizledikten sonra ayarlanması gerekir.