2017-10-23 7 views
1

csvデータを使用してプログラムで簡単な製品を作成しようとしています。 私の製品はdbとadminパネルに挿入されていませんか?任意の提案plsはmagento2でcsvデータを使用してプログラムで簡単な製品を作成する方法

Sku,Name,AttributeSetId,CategoryId,Description,Status,TypeId,Price,WebsiteIds,Visibility,UrlKey //title for the csv data 
nailPolish,nailpolish,9,2,verybrightproduct,1,simple,200,base,4,nailpolish//csv data 
nailRemover,nailremover,9,2,niceproduct,1,simple,200,base,4,nailremover//csv data 
<?php 

use Magento\Framework\App\Bootstrap;// add bootstrap 

include("app/bootstrap.php"); 
$bootstrap = Bootstrap::create(BP, $_SERVER); 
$objectManager = $bootstrap->getObjectManager(); 
$objectManager = $bootstrap->getObjectManager(); 
$state = $objectManager->get('Magento\Framework\App\State'); 
$state->setAreaCode('frontend'); 


function readOptions() //to read csv file 
{ 
    $options = array(); 
    $file = 'csv/csvSimpleproduct.csv'; 
    $handle = fopen($file, "r"); 
    $headers = false; 
    if (empty($handle) === false) { 
     while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
      if (!$headers) 
       $headers[] = $data; 
      else 
       $options[] = $data; 
     } 
     fclose($handle); 

    } 
    return $options; 
} 

$importProduct = readOptions(); 
echo '<pre>'; 
print_r($importProduct);//printing array values 
echo '</pre>'; 



foreach ($importProduct as $importProducts) { //to get single array values 


    $product = $objectManager->create('\Magento\Catalog\Model\Product');//creating object manager 
    $product->setSku($importProducts[0]);//to set sku values 
    $product->setName($importProducts[1]);// to set name of the product 
    $product->setAttributeSetId($importProducts[2]); //Default attribute set for products 
    $product->setCategories($importProducts[3]);// 
    $product->setDescription($importProducts[4]);//to give descriptions 
    $product->setStatus($importProducts[5]); 
    $product->setProductType($importProducts[6]); 
    $product->setPrice($importProducts[7]);// to give price of an product 
    $product->setWebsiteIds(array(1));//set main website view 
    $product->setVisibility($importProducts[9]); 
    $product->setUrlKey($importProducts[10]);//to set url to the product 

} 

私のcsvファイルは次のとおりです。

Sku,Name,AttributeSetId,CategoryId,Description,Status,TypeId,Price,WebsiteIds,Visibility,UrlKey 
nailPolish,nailpolish,9,2,verybrightproduct,1,simple,200,base,4,nailpolish 
nailRemover,nailremover,9,2,niceproduct,1,simple,200,base,4,nailremover 

答えて

0

たぶん、あなたは、他の何かが間違っている、しかし、あなたが今の製品リポジトリ

/** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */ 


$product = $productRepository->save($product); 

で製品を保存する必要があります商品を一切保存しない

また、オブジェクトマネージャを直接使用することはおすすめしません。製品を使用する新しいオブジェクトを作成するためのファクトリ

関連する問題