2

Magento でカスタム サインアップ属性を追加するためのチュートリアルを Web で探しました。堅実なチュートリアルがいくつかありますが、私のお気に入りはこれです:カスタムの顧客サインアップ属性ですが、Magento 1.7 用に更新されたものはありません。

Magento 1.7.x でカスタム サインアップ属性を追加するために必要な手順を推奨するチュートリアルや知っている人がいたら教えてください。

この質問は Magento フォーラムにも投稿され、Wiki に文書化されていますが、残念ながら以前のバージョンの Magento についてのみ記載されているため、私自身と他の多くの開発者は非常に感謝しています。

4

3 に答える 3

8

次のスクリプトを magento ルート ディレクトリから実行できます。このスクリプトは顧客に属性を追加し、顧客の作成と顧客の詳細の編集でアクセスできます。ここで取り上げた例では、顧客の編集と顧客の作成ページでメソッドを'mobile'使用してその属性を取得できます。getMobile()このスクリプトも自動的に追加され、管理パネルに表示されます..

define('MAGENTO', realpath(dirname(__FILE__)));

require_once MAGENTO . '/app/Mage.php';

Mage::app();



$installer = new Mage_Customer_Model_Entity_Setup('core_setup');

$installer->startSetup();

$vCustomerEntityType = $installer->getEntityTypeId('customer');
$vCustAttributeSetId = $installer->getDefaultAttributeSetId($vCustomerEntityType);
$vCustAttributeGroupId = $installer->getDefaultAttributeGroupId($vCustomerEntityType, $vCustAttributeSetId);

$installer->addAttribute('customer', 'mobile', array(
        'label' => 'Customer Mobile',
        'input' => 'text',
        'type'  => 'varchar',
        'forms' => array('customer_account_edit','customer_account_create','adminhtml_customer','checkout_register'),
        'required' => 0,
        'user_defined' => 1,
));

$installer->addAttributeToGroup($vCustomerEntityType, $vCustAttributeSetId, $vCustAttributeGroupId, 'mobile', 0);

$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'mobile');
$oAttribute->setData('used_in_forms', array('customer_account_edit','customer_account_create','adminhtml_customer','checkout_register'));
$oAttribute->save();

$installer->endSetup();

Font End に属性を表示します。次のコードをapp/design/frontend/base/default/template/customer/form/edit.phtml にあるedit.phtml

ファイルに 追加します

<li>
     <label class="required"><?php echo $this->__('Mobile') ?><em>*</em></label>
</li>
<li>
     <input type="text" value="<?php echo $this->getCustomer()->getMobile(); ?>" title="<?php echo $this->__('Mobile') ?>" name="mobile" class="input-text validate-digits-range digits-range-1000000000-9999999999 required-entry">
</li>
于 2013-05-17T05:19:10.533 に答える
0

上記の質問のように、リンクは magento の下位バージョンでのみ機能すると思います

以下のリンクは、1.7 でサインアップ プロセスにカスタム属性を追加するのに非常に便利です。

使用する[customer-registration-fields-magento][1]

于 2013-05-17T04:11:53.360 に答える