magento 中所有产品的默认属性值

发布于 2024-10-16 13:02:10 字数 23 浏览 1 评论 0原文

我想为所有产品设置属性的默认值。

I want to set a default value of an attribute for all product.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

风轻花落早 2024-10-23 13:02:10

我之前遇到过同样的问题,当我在商店中添加 11096 个产品(可下载产品)时,客户告诉我在产品中添加新属性,因此我创建 1 个属性(类型为是/否)并设置为属性集。
现在我的问题是如何编辑所有产品并将该属性设置为是或否。如果我未设置则值为空,所以我写了几行代码。

请检查此代码可能会对您有所帮助。

$ProductId = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToFilter('type_id', Mage_Downloadable_Model_Product_Type::TYPE_DOWNLOADABLE)
    ->getAllIds();
//Now create an array of attribute_code => values

$attributeData = array("my_attribute_code" =>"my_attribute_value");

//Set the store to affect. I used admin to change all default values

$storeId = 0; 

//Now Update the attribute for the given products.

Mage::getSingleton('catalog/product_action')
    ->updateAttributes($ProductId, $attributeData, $storeId);

I had same problem before,when i added 11096 product(downloadable products) in my store then client told me to add new attributes in product so i create 1 attribute (Type is Yes/No) and set to attribute set.
Now my problem is how can i edit all product and set that attribute yes or not.if i not set then value is null so i wrote few line code.

Please check this code may be it'll helpful to you.

$ProductId = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToFilter('type_id', Mage_Downloadable_Model_Product_Type::TYPE_DOWNLOADABLE)
    ->getAllIds();
//Now create an array of attribute_code => values

$attributeData = array("my_attribute_code" =>"my_attribute_value");

//Set the store to affect. I used admin to change all default values

$storeId = 0; 

//Now Update the attribute for the given products.

Mage::getSingleton('catalog/product_action')
    ->updateAttributes($ProductId, $attributeData, $storeId);
迷鸟归林 2024-10-23 13:02:10

如此处所述:- http://www.magentocommerce。 com/knowledge-base/entry/tutorial-creating-attributes-custom-fields

默认值:您可以输入一个将自动填充的值
新产品。

因此,我认为它仅适用于您创建该属性后创建的新产品。因此,该属性的默认值设置可能不会应用于创建该属性之前创建的那些产品。

我遇到了类似的问题并解决它,我在要显示属性的默认值的文件中编写了以下代码:-

$attributeCode = 'YOUR_ATTRIBUTE_CODE';
$attribute = Mage::getResourceModel('eav/entity_attribute_collection')
            ->setCodeFilter($attributeCode)
            ->getFirstItem();
echo $attribute->getDefaultValue();

As stated here:- http://www.magentocommerce.com/knowledge-base/entry/tutorial-creating-attributes-custom-fields

Default Value: You can enter a value that will automatically populate
for new products.

So, I think it only applies for New products that you create after you create that attribute. Hence, the attribute's default value setting might not be applied to those products which were created before creating the attribute.

I had the similar issue and to solve it, I wrote the following code in the file where I want to display the attribute's default value:-

$attributeCode = 'YOUR_ATTRIBUTE_CODE';
$attribute = Mage::getResourceModel('eav/entity_attribute_collection')
            ->setCodeFilter($attributeCode)
            ->getFirstItem();
echo $attribute->getDefaultValue();
浅暮の光 2024-10-23 13:02:10

输入图片此处描述

您还可以通过对所有产品进行批量更新来解决问题。转到“管理产品”页面并选择“全部”,然后选择“更新属性”。

enter image description here

You can also solve the problem by doing a massupdate for all products. Go to the Manage Products paga and Select All followed by Update attributes.

自由如风 2024-10-23 13:02:10

您可以在属性管理

管理面板 - 目录 - 属性 - 管理属性

选择属性 - 属性 - 属性属性 - 默认值

输入图像此处描述

You can do it in Attribute management

Admin panel - Catalog - Attributes - Manage Attributes

Select attribute - Properties - Attribute Properties - Default value

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文