登録フォームの性別にオプションのフィールドを追加しようとしています:オプションの男性、女性。
Magento 管理パネルには、それを行うオプションがあります。[システム] > [構成] > [顧客の構成] の [名前と住所] の下に、性別を示すフィールドがあります。ただし、オプションまたは必須フィールドに設定すると、ドロップダウンがフロントエンドに表示されますが、選択するものは何もありません。ドロップダウンは空で、男性または女性のオプションはありません。
これを解決する方法はありますか?
登録フォームの性別にオプションのフィールドを追加しようとしています:オプションの男性、女性。
Magento 管理パネルには、それを行うオプションがあります。[システム] > [構成] > [顧客の構成] の [名前と住所] の下に、性別を示すフィールドがあります。ただし、オプションまたは必須フィールドに設定すると、ドロップダウンがフロントエンドに表示されますが、選択するものは何もありません。ドロップダウンは空で、男性または女性のオプションはありません。
これを解決する方法はありますか?
何らかの理由で、属性オプションがインスタンスに存在しません。それらを手動で挿入するには、次のクエリを実行します。
まず、性別属性を識別する必要があります。
SELECT * FROM eav_attribute where attribute_code = 'gender'
結果の行のIDを取ります。私にとっては18歳です。
INSERT INTO `eav_attribute_option` SET `attribute_id` = 18, `sort_order` = 0;
INSERT INTO `eav_attribute_option` SET `attribute_id` = 18, `sort_order` = 1;
これにより、2 つのオプションが挿入されます。属性 (18 を最初の選択から取得した ID に置き換えます)。
これらの 2 つの挿入された行には、 の自動インクリメント値が含まれているはずですoption_id
。これら 2 つの値を取得して、次のクエリを実行します。34
値がと であるとしましょう35
。
INSERT INTO `eav_attribute_option_value` set `option_id` = 34, `store_id` = 0, `value` = 'Male';
INSERT INTO `eav_attribute_option_value` set `option_id` = 35, `store_id` = 0, `value` = 'Female';
これにより、オプション ラベルが挿入されます。34
and35
を、最初の挿入セットの後に取得した値に置き換えます。
キャッシュをクリアして設定する必要があります。
私が間違っている場合に備えて、データベースをバックアップしてください。