【问题标题】:Magento Setting Configurable super attributeMagento 设置可配置的超属性
【发布时间】:2016-07-01 02:39:44
【问题描述】:

我已经编写了所有脚本来添加一个可配置产品和多个简单产品,并设法将它们与颜色和尺寸相关联。我的脚本可以正常工作并且可以完成工作,但是我总是必须去后端并选择可配置的产品属性设置颜色和大小并保存产品以便能够在主页上查看它。

这是我的脚本对可配置产品的作用: PS 我将简单和可配置产品的 sku 保存在 csv $file 中。在将它们与可配置产品关联之前。

代码:

<?php
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$confProduct = Mage::getModel('catalog/product')-     >loadByAttribute('sku',$asian);
$colorAttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', 'color');
    $confProduct->getTypeInstance()->setUsedProductAttributeIds(array($colorAttributeId));
 $sizeAttributeId = Mage::getModel('eav/entity_attribute')->getIdByCode('catalog_product', 'size');
    $confProduct->getTypeInstance()->setUsedProductAttributeIds(array($sizeAttributeId));

$file_handle = fopen($file, "r");
while (!feof($file_handle) ) {


$line_of_text = fgetcsv($file_handle, 1024);
$simpleSku = $line_of_text[0];
$configurableSku = $line_of_text[1];
    if($simpleSku){

$simpleProduct = Mage::getModel('catalog/product')->loadByAttribute('sku',$simpleSku);
$configurableProduct = Mage::getModel('catalog/product')->loadByAttribute('sku',$configurableSku);
$simpleId = $simpleProduct->getId();
$ids = $configurableProduct->getTypeInstance()->getUsedProductIds();
$newids = array();
foreach ( $ids as $id ) {
    $newids[$id] = 1;
}
$newids[$simpleId] = 1;
//echo "Updating configurable product " . $configurableSku;
//echo "<br>";
        $confProduct->setCanSaveConfigurableAttributes(true);

Mage::getResourceModel('catalog/product_type_configurable')->saveProducts($configurableProduct, array_keys($newids));

    }
}
fclose($file_handle);

 return ($idconfig);
}

【问题讨论】:

    标签: magento configurable


    【解决方案1】:

    试试这个,

    $configurableAttributesData = $confProduct->getTypeInstance()->getConfigurableAttributesAsArray();
    $confProduct->setCanSaveConfigurableAttributes(true);
    $confProduct->setConfigurableAttributesData($configurableAttributesData);
    

    在保存您的产品之前。

    【讨论】:

    • 试过不行,我读到这与必须设置可配置属性的价格有关,可能是,因为在后端所有价格都是空的,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 2012-04-22
    相关资源
    最近更新 更多