Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
url_rewrite.php
Go to the documentation of this file.
1 <?php
7 use \Magento\UrlRewrite\Model\OptionProvider;
8 use \Magento\UrlRewrite\Model\UrlRewrite;
9 use \Magento\TestFramework\Helper\Bootstrap;
10 use \Magento\Store\Model\StoreManagerInterface;
11 use \Magento\Store\Model\Store;
12 use \Magento\UrlRewrite\Model\ResourceModel\UrlRewrite as UrlRewriteResource;
13 use \Magento\Framework\ObjectManagerInterface;
14 use \Magento\Cms\Model\ResourceModel\Page as PageResource;
15 use \Magento\Cms\Model\Page;
16 
18 require dirname(dirname(__DIR__)) . '/Store/_files/second_store.php';
19 
22 $objectManager = Bootstrap::getObjectManager();
24 $rewriteResource = $objectManager->create(UrlRewriteResource::class);
26 $pageResource = $objectManager->create(PageResource::class);
28 $storeManager = Bootstrap::getObjectManager()
29  ->get(StoreManagerInterface::class);
30 
32 $secondStore = Bootstrap::getObjectManager()->create(Store::class);
33 $secondStore->load('fixture_second_store');
36 
38 $page = $objectManager->create(Page::class);
39 $page->setTitle('Cms Page A')
40  ->setIdentifier('page-a')
41  ->setIsActive(1)
42  ->setContent('<h1>Cms Page A</h1>')
43  ->setPageLayout('1column')
44  ->setStores([$storeID, $secondStoreId]);
45 $pageResource->save($page);
46 
47 $page = $objectManager->create(Page::class);
48 $page->setTitle('Cms B')
49  ->setIdentifier('page-b')
50  ->setIsActive(1)
51  ->setContent('<h1>Cms Page B</h1>')
52  ->setPageLayout('1column')
53  ->setCustomTheme('Magento/blank')
54  ->setStores([$storeID, $secondStoreId]);
55 $pageResource->save($page);
56 
57 $page = $objectManager->create(Page::class);
58 $page->setTitle('Cms C')
59  ->setIdentifier('page-c')
60  ->setIsActive(1)
61  ->setContent('<h1>Cms Page C</h1>')
62  ->setPageLayout('1column')
63  ->setCustomTheme('Magento/blank')
64  ->setStores([$storeID, $secondStoreId]);
65 $pageResource->save($page);
66 
67 $rewrite = $objectManager->create(UrlRewrite::class);
68 $rewrite->setEntityType('custom')
69  ->setRequestPath('page-one/')
70  ->setTargetPath('page-a/')
71  ->setRedirectType(OptionProvider::PERMANENT)
72  ->setStoreId($storeID)
73  ->setDescription('From page-one/ to page-a/');
75 
76 $rewrite = $objectManager->create(UrlRewrite::class);
77 $rewrite->setEntityType('custom')
78  ->setRequestPath('page-two')
79  ->setTargetPath('page-b')
80  ->setRedirectType(OptionProvider::PERMANENT)
81  ->setStoreId($storeID)
82  ->setDescription('From page-two to page-b');
84 
85 $rewrite = $objectManager->create(UrlRewrite::class);
86 $rewrite->setEntityType('custom')
87  ->setRequestPath('page-similar')
88  ->setTargetPath('page-a')
89  ->setRedirectType(OptionProvider::PERMANENT)
90  ->setStoreId($storeID)
91  ->setDescription('From age-similar without trailing slash to page-a');
93 
94 $rewrite = $objectManager->create(UrlRewrite::class);
95 $rewrite->setEntityType('custom')
96  ->setRequestPath('page-similar/')
97  ->setTargetPath('page-b')
98  ->setRedirectType(OptionProvider::PERMANENT)
99  ->setStoreId($storeID)
100  ->setDescription('From age-similar with trailing slash to page-b');
102 
103 //Emulating auto-generated aliases (like the ones used for categories).
104 //Rewrite rule for the 1st store.
105 $rewrite = $objectManager->create(UrlRewrite::class);
106 $rewrite->setEntityType('custom')
107  ->setRequestPath('page-c-on-1st-store')
108  ->setTargetPath('page-c')
109  ->setRedirectType(0)
110  ->setStoreId($storeID);
112 //Rewrite rule for the 2nd store.
113 $rewrite = $objectManager->create(UrlRewrite::class);
114 $rewrite->setEntityType('custom')
115  ->setRequestPath('page-c-on-2nd-store')
116  ->setTargetPath('page-c')
117  ->setRedirectType(0)
118  ->setStoreId($secondStoreId);
$secondStore
Definition: url_rewrite.php:32
$rewriteResource
Definition: url_rewrite.php:24
$pageResource
Definition: url_rewrite.php:26
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60
$page
Definition: url_rewrite.php:38
$storeID
Definition: url_rewrite.php:35
$secondStoreId
Definition: url_rewrite.php:34
$objectManager
Definition: url_rewrite.php:22
$rewrite
Definition: url_rewrite.php:67
$storeManager
Definition: url_rewrite.php:28