gpt4 book ai didi

sql - 如何使用安装程序/更新脚本和 Magento 抽象更新 Magento 产品的值?

转载 作者:行者123 更新时间:2023-12-01 02:42:19 26 4
gpt4 key购买 nike

我使用安装程序脚本向我的 Magento 应用程序产品实体添加了一个自定义 eav 属性(基本上,遵循此处描述的过程:Installing Custom Attributes with Your Module)。现在,我想使用更新脚本根据某些标准(基于产品类别)更改(填充)每个产品的此属性值。我尝试使用的脚本基本上是这样的:

$attributeValues = array(...) // Map from $productId to the desired  $value
$product = Mage::getModel('catalog/product');
foreach($attributeValues as $productId=>$value){
$product->load($productId)->setMyAttribute($value);
$product->save();
}

我的问题是:可以在更新脚本中使用这种抽象级别(Mage::getModel('catalog/product') 及其方法)吗?如果不是,您将如何建议使用更新脚本(不需要 sql)更改这些属性值?

我使用的脚本(直到现在)没有工作并且失败并出现错误:
Call to a member function getStoreIds() on a non-object

在 magento 核心文件中。

我不知道这个错误是 Magento 错误还是我使用更新脚本的方式有问题。

我正在使用 Magento 1.4.0.1

最佳答案

数据更新脚本是要走的路

只需为此使用数据升级脚本。这是放置在 data 中的脚本文件夹而不是 sql文件夹。这些脚本稍后运行,然后数据库结构更新,并允许访问更多功能。

示例文件名:

app/code/local/My/Module/data/your_setup/data-install-0.1.0.php
app/code/local/My/Module/data/your_setup/data-upgrade-0.1.0-0.2.0.php

is already available in Magento 1.4 .

关于sql - 如何使用安装程序/更新脚本和 Magento 抽象更新 Magento 产品的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892423/

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