Cómo obtener todas las URL de productos en Magento 2

Estás leyendo la publicación: Cómo obtener todas las URL de productos en Magento 2

espacio de nombres Proveedor\Módulo\Ayudante;

use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory como ProductCollectionFactory;

use Magento\Framework\App\Config\ScopeConfigInterface;

use Magento\Framework\App\Helper\AbstractHelper;

use Magento\Framework\App\Helper\Context;

clase ProductPageUrls extiende AbstractHelper

{

const PRODUCT_URL_SUFFIX = ‘catalog/seo/product_url_suffix’;

/**

* @var ProductCollectionFactory

*/

privado $productCollectionFactory;

función pública __construct(Contexto $contexto, ProductCollectionFactory $productCollectionFactory)

{

$this->productCollectionFactory = $productCollectionFactory;

padre::__construcción($contexto);

}

función pública getProductUrls()

{

$productUrls = [];

$productos = $this->productCollectionFactory->create();

$productos->addAttributeToSelect(‘url_key’);

foreach ($productos como $producto) {

if (!is_null($producto->getData(‘url_key’))) {

$productUrls[] = rtrim($this->_getUrl($producto->getData(‘url_key’)), ‘/’) .

$this->getConfigData(self::PRODUCT_URL_SUFFIX);

}

}

devuelve $productUrls;

}

función pública getConfigData($ruta, $ámbito = ScopeConfigInterface::SCOPE_TYPE_DEFAULT, $scopeId = nulo)

{

return $this->scopeConfig->getValue($ruta, $scope, $scopeId);

}

}

🔥 Recomendado:  Los 8 mejores libros de inversión para leer (no necesitas más de 20)