Skip to content

Commit d6d6ba1

Browse files
authored
Merge pull request #43 from experius/feature/IN23-284
Feature/in23 284
2 parents c43853c + ca5f313 commit d6d6ba1

1 file changed

Lines changed: 26 additions & 2 deletions

File tree

Console/Command/Import.php

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,25 @@ class Import extends Command
3030

3131
protected $input;
3232
protected $output;
33-
33+
3434
protected $pageNotFoundFactory;
35+
protected $storeRepository;
36+
protected $storeManager;
3537

3638
public function __construct(
3739
\Magento\Framework\File\Csv $csv,
3840
\Magento\Framework\App\State $state,
3941
\Magento\Framework\App\Filesystem\DirectoryList $directoryList,
40-
\Experius\PageNotFound\Model\PageNotFoundFactory $pageNotFoundFactory
42+
\Experius\PageNotFound\Model\PageNotFoundFactory $pageNotFoundFactory,
43+
\Magento\Store\Api\StoreRepositoryInterface $storeRepository,
44+
\Magento\Store\Model\StoreManagerInterface $storeManager
4145
){
4246
$this->csv = $csv;
4347
$this->state = $state;
4448
$this->directoryList = $directoryList;
4549
$this->pageNotFoundFactory = $pageNotFoundFactory;
50+
$this->storeRepository = $storeRepository;
51+
$this->storeManager = $storeManager;
4652

4753
return parent::__construct();
4854
}
@@ -129,9 +135,11 @@ protected function savePageNotFound($fromUrl,$toUrl){
129135
$pageNotFound = $this->pageNotFoundFactory->create();
130136

131137
$pageNotFound->load($fromUrl,'from_url');
138+
$storeId = $this->getStoreView($fromUrl);
132139

133140
$pageNotFound->setFromUrl($fromUrl);
134141
$pageNotFound->setToUrl($toUrl);
142+
$pageNotFound->setStoreId($storeId);
135143
$pageNotFound->save();
136144
}
137145

@@ -193,4 +201,20 @@ private function renderConversion($data)
193201
$table->setRows($data);
194202
$table->render($data);
195203
}
204+
205+
/**
206+
* @param $fromUrl
207+
* @param $storeId
208+
*/
209+
private function getStoreView($fromUrl)
210+
{
211+
$storeId = $this->storeManager->getDefaultStoreView()->getId();
212+
foreach ($this->storeRepository->getList() as $store) {
213+
if (strpos($fromUrl, $store->getBaseUrl(), 0)) {
214+
$storeId = $store->getId();
215+
break;
216+
}
217+
}
218+
return $storeId;
219+
}
196220
}

0 commit comments

Comments
 (0)