Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
RelatedGenerator.php
Go to the documentation of this file.
1 <?php
7 
12 
17 {
21  private $assetRepository;
22 
26  private $temporaryFile;
27 
32  public function __construct(
33  Repository $assetRepository,
34  Temporary $temporaryFile
35  ) {
36  $this->assetRepository = $assetRepository;
37  $this->temporaryFile = $temporaryFile;
38  }
39 
47  public function generate(Import $importGenerator)
48  {
49  do {
50  $relatedFiles = $importGenerator->getRelatedFiles();
51  $importGenerator->resetRelatedFiles();
52  foreach ($relatedFiles as $relatedFileInfo) {
53  list($relatedFileId, $asset) = $relatedFileInfo;
54 
55  $this->generateRelatedFile($relatedFileId, $asset);
56  }
57  } while ($relatedFiles);
58  }
59 
67  protected function generateRelatedFile($relatedFileId, LocalInterface $asset)
68  {
69  $relatedAsset = $this->assetRepository->createRelated($relatedFileId, $asset);
70  $this->temporaryFile->createFile($relatedAsset->getPath(), $relatedAsset->getContent());
71 
72  return $relatedAsset;
73  }
74 }