Обновите SKU Magento с EAN + идентификатор продукта

Я пытаюсь массово обновить SKU моего продукта строкой, состоящей из EAN (dash) Product ID.

Например.

EAN=1234 & ID=44

Result=1234-44

Я счастлив использовать PHP или оператор MySQL, который я могу скопировать / вставить в phpMyAdmin.

Пожалуйста, будьте настолько конкретны, насколько это возможно, поскольку вы имеете дело с абсолютным новичком.

0

Решение

Создать файл Updatesku.php внутри вашей корневой папки magento
и напишите приведенный ниже код в этом файле, а затем выполните его с указанным ниже URL http://www.yourdomain.com/Updatesku.php

<?php
require_once('app/Mage.php');
umask(0);
Mage::app();
$_productCollection = Mage::getModel('catalog/product')
->getCollection()->addAttributeToSelect('*');
foreach($_productCollection as $_product)
{
try
{
$ean = $_product->getAttEan();
$id  =  $_product->getEntityId();
$newSku = $ean . '-' . $id;
$_product->setSku($newSku);
$_product->save();
}
catch(Exception $e){
echo $e->getMessage();
}
}
0

Другие решения

Для того, чтобы обновить все эти SKUs которые были пустыми, внесите следующие изменения в ваш файл.

<?php
require_once('app/Mage.php');
umask(0);
Mage::app();
$_productCollection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('sku',array('null' => true))
->load();
foreach($_productCollection as $_product)
{
try
{
$ean = $_product->getAttEan();
$id  =  $_product->getEntityId();
$newSku = $ean . '-' . $id;
$_product->setSku($newSku);
$_product->save();
}
catch(Exception $e){
echo $e->getMessage();
}
}
0

Следующий код должен сделать …. Настройте его по своему вкусу ..

<?php

require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app();

// Loading products that satisfies the criteria
$productList = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
//  ->addAttributeToFilter('sku', array('like' => '%-T')) //if criteria
;

//Writing to Magento Log
$totalString = count($productList)." Products were found.";
Mage::log($totalString, null, 'listProducts.log');
echo $totalString;

if(count($productList)){
foreach($productList as $product){
//updating products now
try{
$EAN = $product->getAttEan(); // sample EAN, eg $EAN = '1234';
$ID = $product->getEntityId(); // sample  ID, eg, $ID = $product->getSku();
$newSku = $EAN . '-' . $ID;//build your new custom sku as per need
$product->setSku($newSku);
//update other if you want

$product->save();
$skuString = "Product with SKU : ".$product->getSku()." updated!!";
Mage::log($skuString, null, 'listProducts.log');
echo $skuString;
}catch(Exception $ex){
Mage::log($ex->getMessage(), null, 'listProducts.log');
echo $ex->getMessage();
}
}
echo "Custom Sku has been updated Succesfully";
}

?>
-1
По вопросам рекламы [email protected]