deivisonarthur
5/6/2015 - 4:18 AM

Atualiza o container dos produtos configurados. Esse problema dá quando se importa produtos configurados e não exibe o preço, somente entran

Atualiza o container dos produtos configurados. Esse problema dá quando se importa produtos configurados e não exibe o preço, somente entrando no admin e salvando cada um dos produtos é que é exibido o preço. Isso se dá porque faltou algum campo obrigatório na importação e quando se entra pelo admin ele ja vem selecionado a primeira opção, assim passa a idéia de que todos os campos estão setados. esse campo especifico é da parte do design.

<?php
/*
Executar via cron com o comando php container.php
*/

require_once('app/Mage.php');
umask(0);

#Mage::app('default');
Mage::app();
#Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

$page = isset($_GET['p']) ? (int)$_GET['p'] : 1;

$collection = Mage::getResourceModel('catalog/product_collection')
    ->addAttributeToSelect('entity_id')
    ->addAttributeToFilter('type_id', 'configurable')
//    ->addAttributeToFilter('options_container', array('neq' => 'container1'));

//Ao passar 2 arrays força ele pegar da tabela EAV
    ->addAttributeToFilter(array(
                array(
                     'attribute' => 'options_container',
                     'null' => true
                ),
            ));

//$collection->printLogQuery(true);
//exit();

$collection
    ->setPageSize(1000)
    //->setCurPage($page)
    ->load();

$pageLast = $collection->getLastPageNumber();

foreach ($collection as $product) {
    #$product->getId())
    $product = Mage::getModel('catalog/product')->load($product->getId());

    echo "Produto ID: ".$product->getId()."\n";

    #$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));
    #$product->save();

//This section is what was required.
#$stockStatus = Mage::getModel('cataloginventory/stock_status');
#$stockStatus->assignProduct($product);
#$stockStatus->saveProductStatus($product->getId(), 1);

    $product->setOptionsContainer('container1');
    $product->save();

    //echo $product->getId()." \n";
}
?>
<?php if ($page > $pageLast) {
    echo 'Terminou';
    exit;
}
?>