Entfernen Sie Leerzeichen aus SKU in magento2 mit Skript

Remove White Space From SKU In Magento2 Using Script

In diesem Tutorial werden wir mit Hilfe eines Skripts Leerzeichen aus SKU entfernen.

Schritt 1: Zuerst müssen wir eine neue Datei im Root-Pfad Ihrer Magento 2 Website erstellen. Zum Beispiel ‚whitespaceSku.php‘.

Schritt 2: Kopieren Sie den unten stehenden Code und fügen Sie ihn in Ihre neu erstellte Datei ein.

<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php
use Magento\Framework\App\Bootstrap;

require __DIR__ . '/app/bootstrap.php';
$params =  $_SERVER;
$bootstrap = Bootstrap::create(BP, $params);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('global');
?>
<html>
<head>
    <title>Trim Product SKU</title>
</head>
<body>
    <h1>Trim Product SKU</h1>
    <div class="main-div">
        <form action="" method="post">
            <table>
                <tr>
                    <td>
                        <label><?php echo "Product from";?></label>
                        <td>
                            <input type="text" name="from" id="from" value="<?php echo (isset($_POST['from']))?$_POST['from']:"" ?>"/>
                            <label class="suggestion-from">Product From</label>
                        </td>
                </tr>
                <tr>
                    <td>
                        <label><?php echo "Product to";?></label>
                        <td>
                            <input type="text" name="to" id="to" value="<?php echo (isset($_POST['to']))?$_POST['to']:"" ?>"/>
                            <label class="suggestion-from">Product To</label>
                        </td>
                    </tr>
                    <tr></tr>
                    <tr>
                        <td colspan="2"><input class="search-button" type="submit" title="Trim" value="Trim"/>
                        </td>
                    </tr>
            </table>
        </form>
    </div>
</body>
</html>   
<?php 
if($_POST){
    $from = $_POST['from'];
    $to = $_POST['to'];
    echo "<table border='1' class='result-table'><thead><tr><td colspan='3'>Import Data</td></tr></thead><tbody><tr><td>Product Id</td><td>Trimmed SKU</td></tr>";
    trimSKU($from, $to);
    echo "</tbody></table>";
}

function trimSKU($from, $to){
     $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
     $productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
     $collection = $productCollection->create()
                ->addAttributeToSelect('*')
                ->addAttributeToFilter('entity_id',
                    array(
                        'from'=>$from,
                        'to'=>$to
                    ))
                ->load();
        $i = 0;
        foreach($collection as $product){
            $i++;
            if($i > $to || $i < $from) { continue; };
            $arr_string=explode(" ", $product->getSku());
            $string='';
            foreach($arr_string as $str){
                $string.=$str;
        }
            $sku=$string;

            if($product->getId()){
                $product->setSku($sku)->save();
                echo "<tr><td>". $product->getId()."</td><td>".$product->getSKU()."</td></tr>";
            }
        } 
    }

?>

Schritt 3: Nun müssen Sie die Datei ausführen, indem Sie sie über eine URL öffnen. Zum Beispiel https://localhost/whitespaceSku.php

Schritt 4: Nachdem Sie die URL aufgerufen haben, sehen Sie ein Formular wie in der folgenden Abbildung.

  • Produkt-Formular: Geben Sie die Startnummer Ihres Produkts ein, z. B. 1.
  • Produkt bis: Geben Sie die Endnummer Ihres Produkts ein, z. B. 200 oder 300.

Schritt 5: Klicken Sie dann auf die Schaltfläche Trimmen. Dadurch wird der Leerraum aus der SKU entfernt. Ich empfehle, jeweils 100 Produkte zu trimmen, nicht mehr als 100.

Schritt 6: Überprüfen Sie abschließend Ihre SKU im Backend. Zum Beispiel: Wenn Ihr Produkt SKU ist „entfernen Leerzeichen“ nach getrimmt sku wird „removewhitespace“.

Bitte kontaktieren Sie uns unter manish@bay20.com oder rufen Sie uns unter +91-8800519180 an, wenn Sie Unterstützung für Magento 2 benötigen. Sie können auch die Magento2-Entwicklungsseite besuchen, um die von uns angebotenen Dienstleistungen zu überprüfen.