Magento2 在magento 2中设置属性值

Magento2 在magento 2中设置属性值,magento2,Magento2,我已经在magento 2中以编程方式创建了名为my_shipping_charge的自定义属性。我为此属性设置了默认值“0”。当我创建新产品时,它工作得很好。但是,如果我想为已经创建的产品设置此属性,该怎么办。?请帮我解决这个问题 对于已经创建的产品,我们应该手动更新,如果产品集合较大,则可以在root中运行文件。 在这个根文件中,我们可以加载所有产品集合,为所有产品设置自定义属性值并保存它 根文件夹中的自定义文件如下所示: <?php use \Magento\Framework\Ap

我已经在magento 2中以编程方式创建了名为my_shipping_charge的自定义属性。我为此属性设置了默认值“0”。当我创建新产品时,它工作得很好。但是,如果我想为已经创建的产品设置此属性,该怎么办。?请帮我解决这个问题

对于已经创建的产品,我们应该手动更新,如果产品集合较大,则可以在root中运行文件。 在这个根文件中,我们可以加载所有产品集合,为所有产品设置自定义属性值并保存它

根文件夹中的自定义文件如下所示:

<?php
use \Magento\Framework\App\Bootstrap;
require __DIR__ . "/app/bootstrap.php";
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$instance = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectManager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');
$product_collections = $instance ->get('\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
$collections = $product_collections->create();
$shippingCharge = "custom value";
foreach ($collections as $product) {
    $product->setMyShippingCharge($shippingCharge);
    $product->save();
}
?>

$shippingCharge将是必须更新的自定义值。
在terminal中运行根文件并重新索引。并从管理面板检查,对于已经创建的产品,我们必须手动更新,如果产品集合较大,则可以在根目录下运行文件。 在这个根文件中,我们可以加载所有产品集合,为所有产品设置自定义属性值并保存它

根文件夹中的自定义文件如下所示:

<?php
use \Magento\Framework\App\Bootstrap;
require __DIR__ . "/app/bootstrap.php";
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$instance = \Magento\Framework\App\ObjectManager::getInstance();
$state = $objectManager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');
$product_collections = $instance ->get('\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
$collections = $product_collections->create();
$shippingCharge = "custom value";
foreach ($collections as $product) {
    $product->setMyShippingCharge($shippingCharge);
    $product->save();
}
?>

$shippingCharge将是必须更新的自定义值。
在terminal中运行根文件并重新索引。从管理面板检查,我还发现了另一种更新属性的方法,使用导入。我为每个产品创建了一个CSV文件集属性值并导入该文件。这个主意不错,但更改目录CSV文件是一个风险,如果有多个商店或网站,要小心。我还发现了另一种更新属性的方法,使用导入。我为每个产品创建了一个CSV文件集属性值并导入该文件。它也在工作。想法正确,但更改目录CSV文件是一种风险,如果有多个商店或网站,请小心。大家好,让我们在聊天中继续此讨论,请回答此问题@nimeshi让我们在聊天中继续此讨论,请回答此问题@nimesh