Magento 从2000个产品的子级获取属性
我正在使用脚本为另一个站点生成csv文件。 我得到了所有的产品,在可配置的产品上我添加了一些属性 以下是在每个可配置函数上调用的函数内部的代码:Magento 从2000个产品的子级获取属性,magento,Magento,我正在使用脚本为另一个站点生成csv文件。 我得到了所有的产品,在可配置的产品上我添加了一些属性 以下是在每个可配置函数上调用的函数内部的代码: $children_ids = $product->getTypeInstance()->getUsedProductIds(); foreach($children_ids as $child_id){ $child = Mage::getModel('catalog/product')->load
$children_ids = $product->getTypeInstance()->getUsedProductIds();
foreach($children_ids as $child_id){
$child = Mage::getModel('catalog/product')->load($child_id);
$attributeValue = $child->getAttributeText($attributeLabel);
$child_qty = (int)$child->getStockItem()->getQty();
$mage_size[$attributeValue] = $child_qty;
$simple_qty += $child_qty;
}
我注意到,在大量的产品上,不知何故,产量突然停止,而没有得到全部。我使用和不使用此代码进行了测试。没有我得到了预期的结果。
我已设置时间限制(0);
但不知道为什么我的脚本在从所有产品获取信息之前终止。
有什么想法会导致这种行为吗?这不是一个合适的解决方案,但对我的脚本有效。 我补充说
而且效果很好。我知道512太多了,但只是为了确保将来会有更多的产品出现,并防止这种行为。你们都必须增加内存限制和PHP的执行时间-magento非常需要资源
我还使用自定义脚本生成产品csv。我建议从命令行运行这类任务。很多事情都可能导致这种行为。我的前两个猜测是
异常
或内存不足
。Magento和PHP日志文件中没有任何内容?日志中没有任何内容。在我无知的情况下,我认为时间限制就足够了。一旦我将内存限制添加到一个高值,它就会工作。
ini_set('memory_limit', '512M');