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-cms-url-rewrite
Model
CmsPageUrlRewriteGenerator.php
Go to the documentation of this file.
1
<?php
6
namespace
Magento\CmsUrlRewrite\Model
;
7
8
use
Magento\Store\Model\StoreManagerInterface
;
9
use Magento\UrlRewrite\Service\V1\Data\UrlRewriteFactory;
10
11
class
CmsPageUrlRewriteGenerator
12
{
16
const
ENTITY_TYPE
=
'cms-page'
;
17
21
protected
$urlRewriteFactory
;
22
26
protected
$cmsPageUrlPathGenerator
;
27
33
protected
$storeManager
;
34
38
protected
$cmsPage
;
39
45
public
function
__construct
(
46
UrlRewriteFactory
$urlRewriteFactory
,
47
CmsPageUrlPathGenerator
$cmsPageUrlPathGenerator
,
48
StoreManagerInterface
$storeManager
49
) {
50
$this->urlRewriteFactory =
$urlRewriteFactory
;
51
$this->storeManager =
$storeManager
;
52
$this->cmsPageUrlPathGenerator =
$cmsPageUrlPathGenerator
;
53
}
54
59
public
function
generate
(
$cmsPage
)
60
{
61
$stores
=
$cmsPage
->getStores();
62
$this->cmsPage =
$cmsPage
;
63
$urls
= array_search(
'0'
,
$stores
) ===
false
? $this->
generateForSpecificStores
(
$stores
)
64
: $this->
generateForAllStores
();
65
$this->cmsPage =
null
;
66
return
$urls
;
67
}
68
74
protected
function
generateForAllStores
()
75
{
76
$urls
= [];
77
foreach
($this->storeManager->getStores() as
$store
) {
78
$urls
[] = $this->
createUrlRewrite
(
$store
->getStoreId());
79
}
80
return
$urls
;
81
}
82
89
protected
function
generateForSpecificStores
($storeIds)
90
{
91
$urls
= [];
92
$existingStores = $this->storeManager->getStores();
93
foreach
($storeIds as
$storeId
) {
94
if
(!isset($existingStores[
$storeId
])) {
95
continue
;
96
}
97
$urls
[] = $this->
createUrlRewrite
($storeId);
98
}
99
return
$urls
;
100
}
101
109
protected
function
createUrlRewrite
(
$storeId
, $redirectType = 0)
110
{
111
return
$this->urlRewriteFactory->create()->setStoreId(
$storeId
)
112
->setEntityType(self::ENTITY_TYPE)
113
->setEntityId($this->cmsPage->getId())
114
->setRequestPath($this->cmsPage->getIdentifier())
115
->setTargetPath($this->cmsPageUrlPathGenerator->getCanonicalUrlPath($this->cmsPage))
116
->setIsAutogenerated(1)
117
->setRedirectType($redirectType);
118
}
119
}
$storeId
$storeId
Definition:
customer_review_with_rating.php:14
$urls
$urls
Definition:
url_duplicate_message.phtml:8
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\$storeManager
$storeManager
Definition:
CmsPageUrlRewriteGenerator.php:33
Magento\CmsUrlRewrite\Model\CmsPageUrlPathGenerator
Definition:
CmsPageUrlPathGenerator.php:14
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\$cmsPage
$cmsPage
Definition:
CmsPageUrlRewriteGenerator.php:38
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\generate
generate($cmsPage)
Definition:
CmsPageUrlRewriteGenerator.php:59
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\generateForSpecificStores
generateForSpecificStores($storeIds)
Definition:
CmsPageUrlRewriteGenerator.php:89
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\$urlRewriteFactory
$urlRewriteFactory
Definition:
CmsPageUrlRewriteGenerator.php:21
Magento\Store\Model\StoreManagerInterface
Definition:
StoreManagerInterface.php:17
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\$cmsPageUrlPathGenerator
$cmsPageUrlPathGenerator
Definition:
CmsPageUrlRewriteGenerator.php:26
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator
Definition:
CmsPageUrlRewriteGenerator.php:11
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\ENTITY_TYPE
const ENTITY_TYPE
Definition:
CmsPageUrlRewriteGenerator.php:16
Magento\CmsUrlRewrite\Model
Definition:
CmsPageUrlPathGenerator.php:6
$store
$store
Definition:
payment_configuration_rollback.php:33
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\__construct
__construct(UrlRewriteFactory $urlRewriteFactory, CmsPageUrlPathGenerator $cmsPageUrlPathGenerator, StoreManagerInterface $storeManager)
Definition:
CmsPageUrlRewriteGenerator.php:45
$stores
$stores
Definition:
website_attribute_sync.php:95
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\generateForAllStores
generateForAllStores()
Definition:
CmsPageUrlRewriteGenerator.php:74
Magento\CmsUrlRewrite\Model\CmsPageUrlRewriteGenerator\createUrlRewrite
createUrlRewrite($storeId, $redirectType=0)
Definition:
CmsPageUrlRewriteGenerator.php:109