skip to Main Content

I’m using this piece of code:

$product->setSku($csvProduct[0]); // Set your sku here $product->setName($csvProduct[6]); // Name of Product $product->setData('icecat_id',$csvProduct[0]); $product->setData('is_featured',0); $product->setData('is_salable',1); $product->setData('gift_message_available',0); $product->setAttributeSetId(4); // Attribute set id $product->setStatus(1); // Status on product enabled/ disabled 1/0 $product->setWeight(10); // weight of product $product->setVisibility(4); // visibilty of product (catalog / search / catalog, search / Not visible individually) $product->setTaxClassId(0); // Tax class id $product->setTypeId('simple'); // type of product (simple/virtual/downloadable/configurable) $product->setPrice(100); // price of product $product->setCategoryIds($categoryIds); $product->setStockData( [ 'use_config_manage_stock' => 0, 'manage_stock' => 1, 'is_in_stock' => 1, 'qty' => 999 ] ); $product->save();

The problem is that it’s visible in backend not in frontend. When I save product in admin product is starting to be visible in frontend also.
The qestion is what’ wrong with my code or can You give me any idea how it should be done properly.
I spent to much hour trying to debug it. Pls help.

Magento version 2.4.3

I spent a lot of hours trying to debug it. I tried to figure out what is the difference before and after save. No luck.

2

Answers


  1. Chosen as BEST ANSWER

    Website ids were missing ... So simple, so stupid, but maybe useful for someone else.


  2. Probably you need to reindex:

    bin/magento indexer:reindex
    

    Or check and reindex required:

    bin/magento indexer:status
    

    More info: https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-index.html

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search