Skip to main content

magento2 get all customizable option from products

create test file in root directory and place the below code excute it with domain/test.php

<?php

    //THis is test

    echo '<pre>';
    error_reporting(0);
    ini_set('display_errors', 1);

    use Magento\Framework\App\Bootstrap;

    include('app/bootstrap.php');
    $bootstrap = Bootstrap::create(BP, $_SERVER);
    $objectManager = $bootstrap->getObjectManager();
    $url = \Magento\Framework\App\ObjectManager::getInstance();
    $storeManager = $url->get('\Magento\Store\Model\StoreManagerInterface');
    $websiteId = $storeManager->getWebsite()->getWebsiteId();
    $state = $objectManager->get('\Magento\Framework\App\State');
    $state->setAreaCode('frontend');
    //$product = $objectManager->get('\Magento\Catalog\Model\Product')->load('2331');

    $productCollection = $objectManager-     >create('Magento\Catalog\Model\ResourceModel\Product\Collection');
    /** Apply filters here */
    $collection = $productCollection->addAttributeToSelect('*')
            ->load();
    foreach ($collection as $product) {
        //echo 'Name  =  '.$product->getName().'<br>';
        $customOptions = $objectManager->get('Magento\Catalog\Model\Product\Option')->getProductOptionCollection($product);
        //print_r($customOptions->getData());
        foreach ($customOptions as $option) {
            $values = $option->getValues();
            //print_r($option->getTitle());
            if (empty($values)) {
                echo $product->getName() . "===" . $product->getSku() . "===" . $option->getOptionId() . "===" . $option->getDefaultTitle() . "===" . "no options" . "<br />";
                ;
            } else {
                foreach ($values as $value) {
                    //print_r($value->getTitle());
                    echo $product->getName() . "===" . $product->getSku() . "===" . $option->getOptionId() . "===" . $option->getDefaultTitle() . "===" . $value->getTitle() . "===" . $value->getPrice() . "<br />";
                }
            }
        }
        //die("here");
    }
?>

Comments

Popular posts from this blog

Magento 2 product collection Filtering multi-select attribute values

  If you have multi-select attribute of product like below If you want filter value for this option Use below syntax to get product data: ->addAttributeToFilter('store_model', array('finset' => $params['store_model'])) finset key is used for multiselect attribute filter. $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $products = $objectManager->get('Magento\Catalog\Model\Product')         ->getCollection()         ->addAttributeToSelect('*')         ->addAttributeToSelect('store_brand')         ->addAttributeToSelect('store_model')         ->addAttributeToSelect('store_year')         ->addAttributeToFilter('store_brand', array('finset' => $params['store_brand']))         ->addAttributeToFilter('store_model', array('finset' => $params['store_model']))         ->ad...

magento 1 extension converted in to magento 2 process

Simple Install =================================== Download as a zip below link. unzip and upload it to your public_html or other rootdoc directory. https://github.com/magento/code-migration. login to your server via shell switch to the code-migration-develop directory by running following command   cd code-migration-develop Run command following command in root directory of this toolkit composer instal Before running the migration, the following directories need to be prepared: ===================================== * `<src>` - Directory that contains custom Magento 1.x code that is intended to be migrated. The code must follow the Magento 1.x directory structure.   Magento1.x core files must not be included. * `<dst>` - Empty directory for the toolkit to put the generated Magento 2 code to * `<m1>` - Directory that contains: * Vanilla Magento 1.x codebase, and * Custom Magento 1.x code same as...

magento 2 best seller product display based on current category and subcategories

Magento 2 getting best seller based on category wise displaying i have done below for that to implement this functionality it is working fine for me. step 1 create block file in our module folder <?php namespace Pawan\Bestseller\Block; use Magento\Catalog\Api\CategoryRepositoryInterface; class Bestsellercategory extends \Magento\Catalog\Block\Product\ListProduct {     /**      * Product collection model      *      * @var Magento\Catalog\Model\Resource\Product\Collection      */     protected $_collection;     /**      * Product collection model      *      * @var Magento\Catalog\Model\Resource\Product\Collection      */     protected $_productCollection;     /**      * Image helper      *      * @var Magento\Catalog\Helper\Image     ...