
magento 2
Script para mudar Sku de varios produtos lendo uma planilha CSV para o Magento 2
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
ini_set('memory_limit', '5G');
error_reporting(E_ALL);
use Magento\Framework\App\Bootstrap;
require '../../app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');
$productRepository = $objectManager->get('\Magento\Catalog\Api\ProductRepositoryInterface');
$row = 0;
if (($handle = fopen("Tabela_para_Script.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$row++;
if( $row == 1 ) continue;
$old_sku = $data[0];
$new_sku = $data[1];
if($old_sku == $new_sku){
echo $old_sku . " => " . $new_sku . " SKIP " . PHP_EOL;
continue;
}
$id = 0;
try {
$_product = $productRepository->get($old_sku);
$id = $_product->getId();
echo $old_sku . " => " . $new_sku . PHP_EOL;
$_product->setSku($new_sku);
$_product->save($_product);
} catch (\Magento\Framework\Exception\NoSuchEntityException $e){
echo $old_sku . " => " . $new_sku . ": NOT FOUND " . PHP_EOL;
}
$txt = $id . ";" . $old_sku . "," . $new_sku . PHP_EOL;
$myfile = file_put_contents('logs-update-csv.txt', $txt.PHP_EOL , FILE_APPEND | LOCK_EX);
}
fclose($handle);
} Estrutura do CSV é composta da primeira coluna sendo código antigo X código novo na segunda coluna, exemplo de csv:
https://github.com/roger-takemiya/update-product-sku-script-magento-2
Pedido que não fatura e e-mail que não sai porque todo job fica missed: como ler a cron_schedule, conferir o…
Uma função curta em PHP 8.3 que transforma Camiseta Preta Tamanho GG em camiseta-preta-tamanho-gg, sem depender do locale do servidor.
O banner registra o clique só no navegador e some. Veja a tabela MySQL e o endpoint que gravam a…
A classe do comando existe e o bin/magento list ignora ela. Falta o registro no di.xml: aqui vai a classe…
Como traduzir duas mil linhas do pt_BR.csv do Magento 2 lendo com fgetcsv e regravando com fputcsv, sem encostar na…
Produto variável respondendo "Desculpe, este produto não está disponível" mesmo com a variação ativa: limpe os transients do WooCommerce e…