Magento Extensions Rating 2024
EXTENSIONS BY CATEGORY
B2B (Business-To-Business)
Blog
Customer
ERP (Enterprise Resource Planning)
Mega Menu
One Step Checkout
Order
POS (Point Of Sale)
Search
Shopping Cart
Sitemap
SEO
Social
Stock & Inventory Management
EXTENSIONS BY DEVELOPER
aheadWorks
Amasty
Boost My Shop
BSS Commerce
Magestore
MageWorx
Mirasvit
Templates Master
Wyomind
XTENTO
Magento 2 Documentation
Magento 2 Documentation
2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
vendor
magento
module-catalog-url-rewrite
Model
Product
CategoriesUrlRewriteGenerator.php
Go to the documentation of this file.
1
<?php
6
namespace
Magento\CatalogUrlRewrite\Model\Product
;
7
8
use
Magento\Catalog\Model\Product
;
9
use
Magento\CatalogUrlRewrite\Model\ObjectRegistry
;
10
use
Magento\CatalogUrlRewrite\Model\ProductUrlPathGenerator
;
11
use
Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator
;
12
use
Magento\UrlRewrite\Service\V1\Data\UrlRewrite
;
13
use Magento\UrlRewrite\Service\V1\Data\UrlRewriteFactory;
14
15
class
CategoriesUrlRewriteGenerator
16
{
20
protected
$productUrlPathGenerator
;
21
25
protected
$urlRewriteFactory
;
26
31
public
function
__construct
(
ProductUrlPathGenerator
$productUrlPathGenerator
, UrlRewriteFactory
$urlRewriteFactory
)
32
{
33
$this->productUrlPathGenerator =
$productUrlPathGenerator
;
34
$this->urlRewriteFactory =
$urlRewriteFactory
;
35
}
36
45
public
function
generate
(
$storeId
,
Product
$product
,
ObjectRegistry
$productCategories)
46
{
47
$urls
= [];
48
foreach
($productCategories->
getList
() as
$category
) {
49
$urls
[] = $this->urlRewriteFactory->create()
50
->setEntityType(
ProductUrlRewriteGenerator::ENTITY_TYPE
)
51
->setEntityId(
$product
->getId())
52
->setRequestPath($this->productUrlPathGenerator->getUrlPathWithSuffix(
$product
,
$storeId
,
$category
))
53
->setTargetPath($this->productUrlPathGenerator->getCanonicalUrlPath(
$product
,
$category
))
54
->
setStoreId
(
$storeId
)
55
->setMetadata([
'category_id'
=>
$category
->getId()]);
56
}
57
return
$urls
;
58
}
59
}
$category
$category
Definition:
catalog_category_with_slash.php:7
$storeId
$storeId
Definition:
customer_review_with_rating.php:14
Magento\CatalogUrlRewrite\Model\Product\CategoriesUrlRewriteGenerator\$productUrlPathGenerator
$productUrlPathGenerator
Definition:
CategoriesUrlRewriteGenerator.php:20
$urls
$urls
Definition:
url_duplicate_message.phtml:8
Magento\CatalogUrlRewrite\Model\Product\CategoriesUrlRewriteGenerator
Definition:
CategoriesUrlRewriteGenerator.php:15
Magento\CatalogUrlRewrite\Model\ProductUrlPathGenerator
Definition:
ProductUrlPathGenerator.php:8
Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator
Definition:
ProductUrlRewriteGenerator.php:21
Magento\UrlRewrite\Service\V1\Data\UrlRewrite
Definition:
UrlRewrite.php:17
Magento\Catalog\Model\Product\setStoreId
setStoreId($storeId)
Definition:
Product.php:2470
Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator\ENTITY_TYPE
const ENTITY_TYPE
Definition:
ProductUrlRewriteGenerator.php:26
Magento\CatalogUrlRewrite\Model\Product\CategoriesUrlRewriteGenerator\$urlRewriteFactory
$urlRewriteFactory
Definition:
CategoriesUrlRewriteGenerator.php:25
Magento\Catalog\Model\Product
Definition:
Product.php:42
Magento\CatalogUrlRewrite\Model\ObjectRegistry\getList
getList()
Definition:
ObjectRegistry.php:40
Magento\Catalog\Model\Product
Definition:
ActionTest.php:6
$product
$product
Definition:
bundle_product_with_not_visible_children.php:22
Magento\CatalogUrlRewrite\Model\Product\CategoriesUrlRewriteGenerator\generate
generate($storeId, Product $product, ObjectRegistry $productCategories)
Definition:
CategoriesUrlRewriteGenerator.php:45
Magento\CatalogUrlRewrite\Model\ObjectRegistry
Definition:
ObjectRegistry.php:8
Magento\CatalogUrlRewrite\Model\Product\CategoriesUrlRewriteGenerator\__construct
__construct(ProductUrlPathGenerator $productUrlPathGenerator, UrlRewriteFactory $urlRewriteFactory)
Definition:
CategoriesUrlRewriteGenerator.php:31
Magento\CatalogUrlRewrite\Model\Product
Definition:
AnchorUrlRewriteGenerator.php:6