![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sitemap/Model/ItemProvider/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sitemap\Model\ItemProvider; use Magento\Sitemap\Model\ResourceModel\Catalog\ProductFactory; use Magento\Sitemap\Model\SitemapItemInterfaceFactory; class Product implements ItemProviderInterface { /** * Product factory * * @var ProductFactory */ private $productFactory; /** * Sitemap item factory * * @var SitemapItemInterfaceFactory */ private $itemFactory; /** * Config reader * * @var ConfigReaderInterface */ private $configReader; /** * ProductSitemapItemResolver constructor. * * @param ConfigReaderInterface $configReader * @param ProductFactory $productFactory * @param SitemapItemInterfaceFactory $itemFactory */ public function __construct( ConfigReaderInterface $configReader, ProductFactory $productFactory, SitemapItemInterfaceFactory $itemFactory ) { $this->productFactory = $productFactory; $this->itemFactory = $itemFactory; $this->configReader = $configReader; } /** * {@inheritdoc} */ public function getItems($storeId) { $collection = $this->productFactory->create() ->getCollection($storeId); $items = array_map(function ($item) use ($storeId) { return $this->itemFactory->create([ 'url' => $item->getUrl(), 'updatedAt' => $item->getUpdatedAt(), 'images' => $item->getImages(), 'priority' => $this->configReader->getPriority($storeId), 'changeFrequency' => $this->configReader->getChangeFrequency($storeId), ]); }, $collection); return $items; } }