Skip to main content

Magento 2: Get Products by category ID

<?php
$objectManager =  \Magento\Framework\App\ObjectManager::getInstance();       

// $appState = $objectManager->get('\Magento\Framework\App\State');
// $appState->setAreaCode('frontend');

$categoryFactory = $objectManager->get('\Magento\Catalog\Model\CategoryFactory');
$categoryHelper = $objectManager->get('\Magento\Catalog\Helper\Category');
$categoryRepository = $objectManager->get('\Magento\Catalog\Model\CategoryRepository');
$store = $objectManager->get('Magento\Store\Model\StoreManagerInterface')->getStore();

$categoryId = 47; // YOUR CATEGORY ID
$category = $categoryFactory->create()->load($categoryId);

$categoryProducts = $category->getProductCollection()
                             ->addAttributeToSelect('*');
                            
foreach ($categoryProducts as $product)
{
    $imageUrl = $store->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA) . 'catalog/product' . $product->getImage();
$getFi[] = $product->getData();
$geturl[] = $product->getProductUrl();
    ?>
   
     <div class="product-container">
                  <a href="<?= $product->getProductUrl(); ?>">

                     <div class="new-arrivals-image"><img src="<?= $imageUrl;?>"></div>
                     <div class="product-name"><span class="name"><?= $product->getName(); ?></span></div>
                  </a>
                  <div class="price"><span class="pt"><?= $product->getPrice(); ?></span></div>
               </div>
   
<?php
}
?>

Comments

Popular posts from this blog

Magento 2: Category list for custom magento system configuration section ( Backend )

In system.xml file field for multi select of category is like: NOTE: Use Select for Single item and multiselect for multiple in - <field id = "bannerlist" translate = "label" type = " multiselect " <group id = "bannerblock_setting" translate = "label" type = "text" delault = "1" sortOrder = "3" showInDefault = "1" showInWebsite = "1" showInStore = "1" > <label> Setting </label> <field id = "bannerlist" translate = "label" type = "multiselect" sortOrder = "10" showInDefault = "1" showInWebsite = "1" showInStore = "1" > <label> Select Category </label> <!-- <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>--> <source_model> Ipragmatech\Bannerblock\Model\Config\Source\C...

script to change single product add to cart text

  add this in addtocart.phtml page <script>     require([         'jquery',         'mage/mage',         'Magento_Catalog/product/view/validation',         'Magento_Catalog/js/catalog-add-to-cart'     ], function ($) {         'use strict';         $('#product_addtocart_form').mage('validation', {             radioCheckboxClosest: '.nested',             submitHandler: function (form) {                 var widget = $(form).catalogAddToCart({                     bindS...