![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/integration/testsuite/Magento/UrlRewrite/_files/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ use Magento\Cms\Model\Page; use Magento\Cms\Model\ResourceModel\Page as PageResource; use Magento\Framework\ObjectManagerInterface; use Magento\Store\Model\Store; use Magento\Store\Model\StoreManagerInterface; use Magento\TestFramework\Helper\Bootstrap; use Magento\TestFramework\Workaround\Override\Fixture\Resolver; use Magento\UrlRewrite\Model\OptionProvider; use Magento\UrlRewrite\Model\ResourceModel\UrlRewrite as UrlRewriteResource; use Magento\UrlRewrite\Model\UrlRewrite; Resolver::getInstance()->requireDataFixture('Magento/Store/_files/second_store.php'); /** @var UrlRewrite $rewrite */ /** @var ObjectManagerInterface $objectManager */ $objectManager = Bootstrap::getObjectManager(); /** @var UrlRewriteResource $rewriteResource */ $rewriteResource = $objectManager->create(UrlRewriteResource::class); /** @var PageResource $pageResource */ $pageResource = $objectManager->create(PageResource::class); /** @var StoreManagerInterface $storeManager */ $storeManager = Bootstrap::getObjectManager() ->get(StoreManagerInterface::class); /** @var Store $secondStore */ $secondStore = Bootstrap::getObjectManager()->create(Store::class); $secondStore->load('fixture_second_store'); $secondStoreId = $secondStore->getId(); $storeID = 1; /** @var $page Page */ $page = $objectManager->create(Page::class); $page->setTitle('Cms Page A') ->setIdentifier('page-a') ->setIsActive(1) ->setContent('<h1>Cms Page A</h1>') ->setPageLayout('1column') ->setStores([$storeID, $secondStoreId]); $pageResource->save($page); $page = $objectManager->create(Page::class); $page->setTitle('Cms B') ->setIdentifier('page-b') ->setIsActive(1) ->setContent('<h1>Cms Page B</h1>') ->setPageLayout('1column') ->setCustomTheme('Magento/blank') ->setStores([$storeID, $secondStoreId]); $pageResource->save($page); $page = $objectManager->create(Page::class); $page->setTitle('Cms C') ->setIdentifier('page-c') ->setIsActive(1) ->setContent('<h1>Cms Page C</h1>') ->setPageLayout('1column') ->setCustomTheme('Magento/blank') ->setStores([$storeID, $secondStoreId]); $pageResource->save($page); $page = $objectManager->create(Page::class); $page->setTitle('Cms D') ->setIdentifier('page-d') ->setIsActive(1) ->setContent('<h1>Cms Page D</h1>') ->setPageLayout('1column') ->setCustomTheme('Magento/blank') ->setStores([$storeID, $secondStoreId]); $pageResource->save($page); $page = $objectManager->create(Page::class); $page->setTitle('Cms E') ->setIdentifier('page-e') ->setIsActive(1) ->setContent('<h1>Cms Page E</h1>') ->setPageLayout('1column') ->setCustomTheme('Magento/blank') ->setStores([$storeID, $secondStoreId]); $pageResource->save($page); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-one/') ->setTargetPath('page-a/') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-one/ to page-a/'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-two') ->setTargetPath('page-b') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-two to page-b'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-similar') ->setTargetPath('page-a') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-similar without trailing slash to page-a'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-similar/') ->setTargetPath('page-b') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-similar with trailing slash to page-b'); $rewriteResource->save($rewrite); //Emulating auto-generated aliases (like the ones used for categories). //Rewrite rule for the 1st store. $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-c-on-1st-store') ->setTargetPath('page-c') ->setRedirectType(0) ->setStoreId($storeID); $rewriteResource->save($rewrite); //Rewrite rule for the 2nd store. $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-c-on-2nd-store') ->setTargetPath('page-c') ->setRedirectType(0) ->setStoreId($secondStoreId); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-similar-query-param') ->setTargetPath('page-d?param1=1') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-similar-query-param to page-d with query param'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-similar-query-param/') ->setTargetPath('page-e?param1=1') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-similar-query-param with trailing slash to page-e with query param'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('/') ->setTargetPath('/') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From / to /'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('contact/') ->setTargetPath('contact?param1=1') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From contact with trailing slash to contact with query param'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-external1') ->setTargetPath('http://example.com/external') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-external to external URL'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-external2/') ->setTargetPath('https://example.com/external2/') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-external with trailing slash to external URL'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-external3') ->setTargetPath('http://example.com/external?param1=value1') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-external to external URL'); $rewriteResource->save($rewrite); $rewrite = $objectManager->create(UrlRewrite::class); $rewrite->setEntityType('custom') ->setRequestPath('page-external4/') ->setTargetPath('https://example.com/external2/?param2=value2') ->setRedirectType(OptionProvider::PERMANENT) ->setStoreId($storeID) ->setDescription('From page-external with trailing slash to external URL'); $rewriteResource->save($rewrite);