Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- use Magento\Framework\App\Bootstrap;
- include( 'app/bootstrap.php' );
- $bootstrap = Bootstrap::create( BP, $_SERVER );
- error_reporting( E_ALL );
- ini_set( 'display_errors', 'On' );
- $objectManager = $bootstrap->getObjectManager();
- $state = $objectManager->get( 'Magento\Framework\App\State' );
- $state->setAreaCode( 'adminhtml' );
- $file = dirname( __FILE__ ) . "/Produkty.xml";
- $xml_content = file_get_contents( $file );
- $xml_content = str_replace( array( "stk:", "lStk:", "rsp:", "typ:" ), array( "", "", "", "" ), $xml_content );
- $xml = simplexml_load_string( $xml_content );
- # Quick switch between interface method and model method
- $update_using_interface = true;
- while ( @ob_end_flush() ) {
- ;
- }
- echo '<table style="max-width: 900px;min-width:900px;width:900px;font-size:13px;font-family:monospace;" border="1" cellpadding="5" cellspacing="5"><thead><tr><th>EAN</th><th>Nazov</th><th>Status</th></tr></thead><tbody>';
- foreach ( $xml as $item ):
- $_internet = property_exists($item, "Internet") ? (intval($item->Internet->__toString()) == 1) : false;
- $_ean = property_exists($item, "EAN") ? $item->EAN : false;
- $_price = floatval( $item->KonecnaCena->__toString() );
- $_name = $item->Nazov->__toString();
- $_status = "";
- $_stock_qty = property_exists($item, "StavZasoby") ? floatval($item->StavZasoby->__toString()) : 0;
- if(!$_internet) {
- continue;
- }
- echo '<tr>';
- echo '<td>' . $_ean . '</td>';
- echo '<td>' . $_name . '</td>';
- if ( $_ean ):
- /** @var \Magento\Catalog\Model\ProductFactory $productFactory */
- $productFactory = $objectManager->get( '\Magento\Catalog\Model\ProductFactory' );
- /** @var \Magento\Catalog\Model\Product $productModel */
- $productModel = $productFactory->create();
- /** @var \Magento\Catalog\Model\Product $product */
- $product = $productModel->loadByAttribute( "ean", $item->EAN->__toString() );
- if ( $product ):
- /** @var \Magento\Catalog\Model\ProductRepository $productRepository */
- $productRepository = $objectManager->get( '\Magento\Catalog\Model\ProductRepository' );
- $product = $productRepository->getById( $product->getId() );
- # Update name and price
- $product->setName( $item->Nazov->__toString() );
- $product->setPrice( floatval( $item->KonecnaCena->__toString() ) );
- $product->setSpecialPrice(null); // Reset special price
- $product->setStockData(['qty' => $_stock_qty, 'is_in_stock' => true]);
- $product->setQuantityAndStockStatus(['qty' => $_stock_qty, 'is_in_stock' => true]);
- # Save changes on product
- $productRepository->save($product);
- $_status = "UPDATED";
- else:
- $_status = "NOT FOUND";
- endif;
- else:
- $_status = "NO EAN";
- endif;
- echo '<td>' . $_status . '</td>';
- echo '</tr>';
- @flush();
- endforeach;
- echo '</tbody></table>';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement