Skip to content

Instantly share code, notes, and snippets.

@deivisonarthur
Last active August 29, 2015 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save deivisonarthur/683099545f638fff23fd to your computer and use it in GitHub Desktop.
Save deivisonarthur/683099545f638fff23fd to your computer and use it in GitHub Desktop.
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…
<?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;
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment