2010-12-28 9 views
3

adding registration fields to the Magento registration pageの前にこのチュートリアルを使用しました。Magento 1.4.2.0で登録フィールドを追加できなくなりました。

私はMagento 1.4.2.0にアップグレードして以来、もはや機能していません。追加する属性は、前と同じようにバックエンドの顧客情報タブに表示されなくなり、保存されなくなります。属性はデータベースに正しくインストールされます。私は、config.xmlの一部が変更されていたかもしれないと思ったが、私は、コア顧客1に対してそれをチェックすると属性が同じように示さ敷居ある:それは働いていたので

<flavour><create>1</create><update>1</update></flavour> 

何かが、最後の1.4.2ベータ以降に変更されなければなりませんじゃ、はい。誰かが何らかのアイデアを持っていれば、それは大変ありがとうと思います。前もって感謝します!

答えて

4

。 1.4.2以降、管理者の顧客のフォームに表示される属性は、表customer_form_attributeにある必要があります。
あなたがこのコードで、あなたのモジュールのセットアップでアップグレードして、それらを追加することができます。

$eavConfig = Mage::getSingleton('eav/config'); 
$attribute = $eavConfig->getAttribute('customer', 'your_attributes_code'); 
$attribute->setData('used_in_forms', array('adminhtml_customer')); 
$attribute->save(); 

に役立ちます願っています。

+0

素晴らしい!ありがとう、フィールドは今バックエンドに表示されています。私はまだフロントエンドの値を保存するフィールドを取得することはできません。あなたはこれを達成できましたか?バックエンドに入力すると保存されますが、登録ページで顧客が作成されると保存されません。 – Justin

+0

実際に私の属性は顧客によって記入されていません。フロントエンドのフォームには表示されません。オブザーバーによってセットアップされます。私が書いたコードは、管理者のフォームに入力を表示するコードです。customer_form_attributeテーブルを調べると、他の値があることがわかります。おそらく、フロントエンドフォームの値を追加する必要があります。 – OSdave

+0

Davidさん、ありがとうございました。もし私がそれを把握したら私は私の最終的な解決策を投稿します。 – Justin

0

、このいずれかを試してみてください。私はそれを考え出したそれまでは、私はこの1つでかなりの時間を苦労してきた

http://www.magento.cc/custom-accountregistration-fields.html

+0

ご返信ありがとうございます。私もこれを試しましたが、残念ながらそれはどちらもうまくいきません。私はこれがもはや働かなくなった何が変わったのか理解できません。 – Justin

2

上記の非常に有用なヒント、Davidありがとう!

フロントエンドで新しい属性がsaveable作るために(登録と編集) はちょうど$ attribute-の2番目のパラメータアレイを拡張>このようにsetData:その後

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

あなたは中3つの新しいエントリを検索します1つではなくcustomer_form_attributeテーブル。

この変更の前と後にこれをテストしたい場合は、単に( 'ATTRIB'。(文字列)$ attribute-> getAttributeCode())

メイジ::ログを挿入します。

app/code/core/Mage/Customer/Model/Form.phpの371行目以降、使用したすべての属性がシステムのシステムログに表示されます。 (メイジ1.4.2.0で有効)

+0

あなたは私にそれを打つ!ありがとう! – Justin

0

参考までに、すべてのカスタム属性を表示するコミュニティエディションの「特別なコード」を削除しました。私はエンタープライズを使用しており、節約のためコミュニティ編集を検討していました。これは我々が克服しなければならないハードルの1つです。

質問には答えませんが、なぜ無料版から削除されたのかが説明されています。それらを表示するコードは、テーマから完全に欠けています。

関連する問題