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
Observer
ProductToWebsiteChangeObserver.php
Go to the documentation of this file.
1
<?php
6
namespace
Magento\CatalogUrlRewrite\Observer
;
7
8
use
Magento\Catalog\Api\ProductRepositoryInterface
;
9
use
Magento\Catalog\Model\Product\Visibility
;
10
use
Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator
;
11
use
Magento\Framework\App\RequestInterface
;
12
use
Magento\Framework\Event\ObserverInterface
;
13
use
Magento\Store\Model\Store
;
14
use
Magento\UrlRewrite\Model\UrlPersistInterface
;
15
use
Magento\UrlRewrite\Service\V1\Data\UrlRewrite
;
16
17
class
ProductToWebsiteChangeObserver
implements
ObserverInterface
18
{
22
protected
$productUrlRewriteGenerator
;
23
27
protected
$urlPersist
;
28
32
protected
$productRepository
;
33
37
protected
$request
;
38
45
public
function
__construct
(
46
ProductUrlRewriteGenerator
$productUrlRewriteGenerator
,
47
UrlPersistInterface
$urlPersist
,
48
ProductRepositoryInterface
$productRepository
,
49
RequestInterface
$request
50
) {
51
$this->productUrlRewriteGenerator =
$productUrlRewriteGenerator
;
52
$this->urlPersist =
$urlPersist
;
53
$this->productRepository =
$productRepository
;
54
$this->request =
$request
;
55
}
56
63
public
function
execute
(\
Magento
\Framework\Event\
Observer
$observer
)
64
{
65
foreach
(
$observer
->getEvent()->getProducts() as
$productId
) {
66
$product
= $this->productRepository->getById(
67
$productId
,
68
false
,
69
$this->request->getParam(
'store_id'
,
Store::DEFAULT_STORE_ID
)
70
);
71
72
$this->urlPersist->deleteByData([
73
UrlRewrite::ENTITY_ID
=>
$product
->getId(),
74
UrlRewrite::ENTITY_TYPE
=>
ProductUrlRewriteGenerator::ENTITY_TYPE
,
75
]);
76
if
(
$product
->getVisibility() !=
Visibility::VISIBILITY_NOT_VISIBLE
) {
77
$this->urlPersist->replace($this->productUrlRewriteGenerator->generate(
$product
));
78
}
79
}
80
}
81
}
Magento\UrlRewrite\Model\UrlPersistInterface
Definition:
UrlPersistInterface.php:13
Magento\CatalogUrlRewrite\Observer
Definition:
CategoryProcessUrlRewriteSavingObserverTest.php:6
$productId
$productId
Definition:
website_attribute_sync.php:26
Magento\Store\Model\Store\DEFAULT_STORE_ID
const DEFAULT_STORE_ID
Definition:
Store.php:124
Magento\Framework\Event\ObserverInterface
Definition:
ObserverInterface.php:16
Magento\CatalogUrlRewrite\Observer\ProductToWebsiteChangeObserver
Definition:
ProductToWebsiteChangeObserver.php:17
Magento\CatalogUrlRewrite\Observer\ProductToWebsiteChangeObserver\$productRepository
$productRepository
Definition:
ProductToWebsiteChangeObserver.php:32
Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator
Definition:
ProductUrlRewriteGenerator.php:21
Magento\CatalogUrlRewrite\Observer\ProductToWebsiteChangeObserver\__construct
__construct(ProductUrlRewriteGenerator $productUrlRewriteGenerator, UrlPersistInterface $urlPersist, ProductRepositoryInterface $productRepository, RequestInterface $request)
Definition:
ProductToWebsiteChangeObserver.php:45
Magento\Catalog\Api\ProductRepositoryInterface
Definition:
ProductRepositoryInterface.php:14
Magento\UrlRewrite\Service\V1\Data\UrlRewrite
Definition:
UrlRewrite.php:17
Magento\CatalogUrlRewrite\Observer\ProductToWebsiteChangeObserver\execute
execute(\Magento\Framework\Event\Observer $observer)
Definition:
ProductToWebsiteChangeObserver.php:63
Magento\CatalogUrlRewrite\Model\ProductUrlRewriteGenerator\ENTITY_TYPE
const ENTITY_TYPE
Definition:
ProductUrlRewriteGenerator.php:26
Magento\UrlRewrite\Service\V1\Data\UrlRewrite\ENTITY_ID
const ENTITY_ID
Definition:
UrlRewrite.php:23
Magento\CatalogUrlRewrite\Observer\ProductToWebsiteChangeObserver\$request
$request
Definition:
ProductToWebsiteChangeObserver.php:37
$observer
$observer
Definition:
second_website_with_second_currency.php:38
Magento\CatalogUrlRewrite\Observer\ProductToWebsiteChangeObserver\$urlPersist
$urlPersist
Definition:
ProductToWebsiteChangeObserver.php:27
Magento\Framework\App\RequestInterface
Definition:
RequestInterface.php:14
Magento
Magento\UrlRewrite\Service\V1\Data\UrlRewrite\ENTITY_TYPE
const ENTITY_TYPE
Definition:
UrlRewrite.php:24
$product
$product
Definition:
bundle_product_with_not_visible_children.php:22
Magento\Store\Model\Store
Definition:
Store.php:38
Magento\Catalog\Model\Product\Visibility
Definition:
Visibility.php:17
Magento\Catalog\Model\Product\Visibility\VISIBILITY_NOT_VISIBLE
const VISIBILITY_NOT_VISIBLE
Definition:
Visibility.php:19
Magento\CatalogUrlRewrite\Observer\ProductToWebsiteChangeObserver\$productUrlRewriteGenerator
$productUrlRewriteGenerator
Definition:
ProductToWebsiteChangeObserver.php:22
Magento\Framework\Event\Observer
Definition:
Observer.php:14