セットアップスクリプト内のマルチセレクト属性オプションの順序を設定します

magento.stackexchange https://magento.stackexchange.com/questions/840

  •  16-10-2019
  •  | 
  •  

質問

開発中のモジュールの1つでは、いくつかのオプションを備えたマルチセレクト属性を作成する必要があります。これらのオプションにデフォルトで特定の注文が与えられることが非常に重要です。

これは、属性を追加するための現在のコードです。

$installer->addAttribute('catalog_product', 'tariffplan_sms_slider', array(
    'attribute_set'     => 'Randomattributeset',
    'group'             => 'Sample',
    'type'              => 'varchar',
    'default'           => 0,
    'required'          => false,
    'visible'           => true,
    'backend'           => 'eav/entity_attribute_backend_array',
    'frontend'          => '',
    'label'             => 'Random label',
    'note'              => '',
    'input'             => 'multiselect',
    'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
    'option'            => array ('value' => 
                            array(
                                'one' => array("Low"),
                                'two' => array("Medium"),
                                'three' => array('High'),
                                'four' => array('Unlimited')
                            )
                        ),
    'visible'           => true,
    'required'          => false,
    'user_defined'      => true,
    'default'           => 0,
    'visible_on_front'  => false,
    'used_in_product_listing'   => false,
    'unique'            => false
));

ご覧のとおり、作成されるこの属性のオプションの配列を提供しています。 それに加えて、私は注文を設定したいと思います (バックエンドのポジション入力フィールドを参照) 各オプションの.

以下を試しましたが、機能していません。

 'option'           => array (
                            'value' => array(
                                'one' => array("Don't care"),
                                'two' => array("Low"),
                                'three' => array('High'),
                                'four' => array('Unlimited')
                            ),
                            'order' => array(
                                'one' => 0,
                                'two' => 1,
                                'three' => 2,
                                'four' => 3
                            )
                        ),

バージョン: Magento ver。 1.7.0.1

誰かがアイデアを得ましたか?

役に立ちましたか?

解決

を見て自分で修正しました addAttributeOption() 内部の方法 Mage_Eav_Model_Entity_Setup:

結果:

$installer->addAttribute('catalog_product', 'tariffplan_sms_slider', array(
    'attribute_set'     => 'Randomattributeset',
    'group'             => 'Sample',
    'type'              => 'varchar',
    'default'           => 0,
    'required'          => false,
    'visible'           => true,
    'backend'           => 'eav/entity_attribute_backend_array',
    'frontend'          => '',
    'label'             => 'Random label',
    'note'              => '',
    'input'             => 'multiselect',
    'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
    'option'            => array (
                            'values' => array(
                                '1' => 'Low',
                                '2' => 'Medium',
                                '3' => 'High',
                                '4' => 'Unlimited'
                            )
                        ),
    'visible'           => true,
    'required'          => false,
    'user_defined'      => true,
    'default'           => 0,
    'visible_on_front'  => false,
    'used_in_product_listing'   => false,
    'unique'            => false
));

すぐにそれを見ない人にとっては、基本的に「オプション」キーに与える価値を変更する必要があります。

'option'            => array ('value' => 
                            array(
                                'one' => array("Low"),
                                'two' => array("Medium"),
                                'three' => array('High'),
                                'four' => array('Unlimited')
                            )
                        ),

に(方法を参照してください 価値 ITOを変更しました ):

'option'            => array (
                            'values' => array(
                                '1' => 'Low',
                                '2' => 'Medium',
                                '3' => 'High',
                                '4' => 'Unlimited'
                            )
                        ),
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top