require __DIR__ . '/Category.php'; require __DIR__ . '/CsvWriter.php'; require __DIR__ . '/LanguageMapper.php'; $options = getopt(null, ["language:"]); if (empty($options)) { // fallback $options["language"] = "de"; } $skippedProducts = 0; $mapper = new LanguageMapper($options["language"]); $feedFilename = sprintf("%s/Mey_%s_%s.csv", "/opt/productexport", $mapper->getLabel(), date("Y-m-d_H-m-s")); $start = microtime(true); $data = []; $brokenProducts = []; $gc = gc_enabled(); Mage::app()->setCurrentStore(Mage::getModel('core/store')->load($mapper->getStoreId())); $taxCalc = new TaxCalculation(Mage); $open = count($products); $dataWritten = false; $writer = new CsvWriter($feedFilename); $productIds = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('type_id', array('eq' => 'configurable'))->addAttributeToFilter('status', array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLED))->getAllIds(); $open = count($productIds); foreach ($productIds as $id) { $product = Mage::getModel('catalog/product')->load($id); $websites = $product->getWebsiteIds(); if (!inMainStore($websites)) { $websites = implode(",", $websites); echo "[wrong website] skip {$id}, websites: {$websites}\n"; $skippedProducts++; continue; }