処理にはいくつかの手順があります。まず、属性を作成し、それをデフォルトのグループと属性セットに追加する必要があります。
$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', 'avatar', array(
'label' => 'Avatar Image',
'input' => 'file',
'type' => 'varchar',
'forms' => array('customer_account_edit','customer_account_create','adminhtml_customer','checkout_register'),
'required' => 0,
'user_defined' => 1,
));
$installer->addAttributeToGroup($vCustomerEntityType, $vCustAttributeSetId, $vCustAttributeGroupId, 'avatar', 0);
$oAttribute = Mage::getSingleton('eav/config')->getAttribute('customer', 'avatar');
$oAttribute->setData('used_in_forms', array('customer_account_edit','customer_account_create','adminhtml_customer','checkout_register'));
$oAttribute->save();
$installer->endSetup();
file
にinput
を設定することがある重要なこと:ここではそうするようにセットアップスクリプトに追加することができ、いくつかのコードです。これにより、システムはバックエンドにファイルアップローダーを表示し、フォームの処理時にアップロードされたファイルを探します。 type
はvarchar
です。ファイル名を格納するためにvarchar属性が使用されるためです。
属性が作成されたら、persistent/customer/form/register.phtml
テンプレートに入力要素を追加する必要があります。次のようにこれを行うにはいくつかのサンプルコードは次のとおりです。
<label for="avatar"><?php echo $this->__('Avatar') ?></label>
<div class="input-box">
<input type="file" name="avatar" title="<?php echo $this->__('Avatar') ?>" id="avatar" class="input-text" />
</div>
もここで注意すべき主なものは、フィールドのIDと名前があなたの属性のコードと同じでなければならないことです。また、<form>
タグにenctype="multipart/form-data"
を追加することを忘れないでください。
これにより、登録時にアバター画像をアップロードすることができます。その後、画像が表示されたら、サイトのサイズに合わせてサイズを変更することができます。コードMagento画像ヘルパーはProduct画像で動作するように設計されていますが、this blog postは、画像のサイズを変更したり、サイズ変更したファイルをキャッシュするヘルパー関数を作成する方法を示します。私はカテゴリ画像のサイズを変更する前にこれらの指示を使用しており、うまく機能しています。
あなたはエンタープライズのお客様ですので、Magentoチームのサポートをリクエストすることができます。 –