0

Magento 2.2 のすべての製品を更新するために、自動 php インポート ファイルを実行しています。より正確には、スクリプトは製品をロードし、製品が存在する場合はその情報を更新し、最後に製品を保存します。私の問題があります:メタタイトルを更新しようとしましたが、その方法は単に機能しません。これが私のコードです:

$product1 = $objectManager->get('Magento\Catalog\Model\Product')->getIdBySku($sku);
if($product1) {
    $pid=$product1;

    $product_n1=$objectManager->create('Magento\Catalog\Model\Product')->load($pid);
    $product_n1->setName(trim($importProduct[0])); // Name of product_n1
    $product_n1->setCategoryIds(array($category_id));
    $product_n1->setDescription(trim($descr));
    $product_n1->setShortDescription(trim($shortDesc));
    $metatitle =trim($importProduct[0]).' - Company name';
    $product_n1->setMetaTitle($metatitle);
    $metakey[]=$importProduct[0];
    $metakey[]= trim(preg_replace('/ +/', '', preg_replace('/[^A-Za-z0-9 ]/', '', urldecode(html_entity_decode(strip_tags($importProduct[0]))))));
    $metakey[]=trim(preg_replace('#[^0-9a-z]+#i', '-', $importProduct[0]));
    $meta_str=implode(',',$metakey);
    $product_n1->setMetaKeyword(trim($meta_str));
    $product_n1->setMetaDescription(trim(strip_tags($descr)));
    $product_n1->setStatus(1); // Status on product_n1 enabled/ disabled 1/0
    $product_n1->setWeight(10); // weight of product_n1
    $product_n1->setVisibility(4); // visibilty of product_n1 (catalog / search / catalog, search / Not visible individually)
    $product_n1->setTaxClassId(2); // Tax class id
    $product_n1->setPrice($importProduct[1]); // price of product_n1
    $product_n1->setStockData(
        array(
            'use_config_manage_stock' => 0,
            'manage_stock' => 1,
            'is_in_stock' => 1,
            'qty' => 1000,
            'min_sale_qty' => $pkgqty_int,
            'qty_increments' => $pkgqty_int,
            'enable_qty_increments' => 1
        )
    );

    $product_n1->save();
}

コードの何が問題なのかわかりません。応援ありがとうございました

4

1 に答える 1