gpt4 book ai didi

select - 以编程方式设置多选/选择 Magento 属性的默认值

转载 作者:行者123 更新时间:2023-12-02 11:03:38 25 4
gpt4 key购买 nike

以下是创建新产品多选属性的方法:

$eav = new Mage_Catalog_Model_Resource_Setup('core_setup');

$eav->addAttribute(
Mage_Catalog_Model_Product::ENTITY,
"product_country",
array(
'label' => 'Country',
'group' => 'General',
'type' => 'text',
'input' => 'multiselect',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_WEBSITE,
'user_defined' => true,
'required' => true,
'visible' => true,
'source' => 'ns/some_source', // this source has the "UK" value
'backend' => 'eav/entity_attribute_backend_array',
'default' => 'UK',
)
);

我还尝试过使用“是/否”值

"type" => "boolean" 

"type" => "select",
'source' => 'eav/entity_attribute_source_boolean'

功能相同。

在所有情况下,拥有带有值的 default 键可以正确填充 eav_attribute 表的 default_value 列。但是,对于编辑页面上的输入而言,为“是/否”属性设置 "default"=> "1" 没有任何作用。仍然选择“否”,我期待"is",因为“1”映射到"is":

// Mage_Eav_Model_Entity_Attribute_Source_Boolean
$this->_options = array(
array(
'label' => Mage::helper('eav')->__('Yes'),
'value' => 1
),
array(
'label' => Mage::helper('eav')->__('No'),
'value' => 0
),
);

多选也会发生同样的情况:默认情况下不会选择任何选项。

我没主意了。如果不设置属性的默认值,有谁知道“默认”列/键的目的是什么?如何设置属性的值在新建/编辑产品后端页面上自动选择?

最佳答案

我也遇到了这个问题,创建自定义 {product, customer, address} 属性和添加实体时出现问题。

在 Mage_Catalog_Model_Resource_Setup::_prepareValues 中定义了一些“默认”实体集,这会导致此问题。

对此的最佳解决方案是在创建属性后加载属性并设置默认值。

 $model = Mage::getModel('eav/entity_attribute')
->load($installer->getAttributeId(Mage_Catalog_Model_Product::ENTITY, 'product_country'));
$model
->setDefaultValue(Mage::helper('eav')->__('Yes'))
->save();

关于select - 以编程方式设置多选/选择 Magento 属性的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10842555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com