Estás leyendo la publicación: Cómo obtener la URL del producto para una tienda específica en Magento 2
espacio de nombres Meetanshi\Module\Helper;
use Magento\Framework\App\Helper\AbstractHelper;
use Magento\Framework\App\Helper\Context;
use Magento\Store\Model\StoreManagerInterface;
use Magento\Catálogo\Modelo\Producto;
use Magento\Catalog\Api\ProductRepositoryInterface;
clase Datos extiende AbstractHelper
{
protegido $productModel;
$productRepository protegido;
función pública __construir(
Contexto $contexto,
Producto $productoModelo,
ProductRepositoryInterface $productRepository
)
{
$this->productModel = $productModel;
$this->productRepository = $productRepository;
padre::__construcción($contexto);
}
función pública getProductUrl($productId, $storeId)
{
$producto = $este->productModel->load($productId);
$producto->setStoreId($storeId);
$url = $producto->getProductUrl();
// otra forma de obtener url
$producto = $este->productRepository->getById($productId, false, $storeId);
$productURL = $producto->setStoreId($storeId)->getUrlModel()->getUrlInStore($producto, [‘_escape’ => true]);
}
}