Пример #1
0
 /**
  * Create 'staging' theme associated with current 'virtual' theme
  *
  * @return \Magento\Framework\View\Design\ThemeInterface
  */
 protected function _createStagingTheme()
 {
     $stagingTheme = $this->_themeFactory->create();
     $stagingTheme->setData(['parent_id' => $this->_theme->getId(), 'theme_path' => null, 'theme_title' => sprintf('%s - Staging', $this->_theme->getThemeTitle()), 'preview_image' => $this->_theme->getPreviewImage(), 'is_featured' => $this->_theme->getIsFeatured(), 'type' => \Magento\Framework\View\Design\ThemeInterface::TYPE_STAGING]);
     $stagingTheme->save();
     return $stagingTheme;
 }
Пример #2
0
 /**
  * Get path to preview image
  *
  * @param ThemeInterface $theme
  * @return string
  */
 public function getPreviewImagePath(ThemeInterface $theme)
 {
     return $this->mediaDirectory->getAbsolutePath(self::PREVIEW_DIRECTORY_PATH . '/' . $theme->getPreviewImage());
 }
Пример #3
0
 /**
  * Save preview image for theme
  *
  * @param ThemeInterface $theme
  * @return $this
  */
 protected function _savePreviewImage(ThemeInterface $theme)
 {
     $themeDirectory = $theme->getCustomization()->getThemeFilesPath();
     if (!$theme->getPreviewImage() || !$themeDirectory) {
         return $this;
     }
     $imagePath = $themeDirectory . '/' . $theme->getPreviewImage();
     if (0 === strpos($imagePath, $themeDirectory)) {
         $theme->getThemeImage()->createPreviewImage($imagePath);
     }
     return $this;
 }
Пример #4
0
 /**
  * Get url of theme preview image
  *
  * @return string
  */
 public function getPreviewImageUrl()
 {
     $previewImage = $this->theme->getPreviewImage();
     return empty($previewImage) ? $this->themeImagePath->getPreviewImageDefaultUrl() : $this->themeImagePath->getPreviewImageUrl($this->theme);
 }
Пример #5
0
 /**
  * Get path to preview image
  *
  * @param \Magento\Core\Model\Theme|ThemeInterface $theme
  * @return string
  */
 public function getPreviewImagePath(ThemeInterface $theme)
 {
     return $theme->isPhysical() ? $this->assetRepo->createAsset($theme->getPreviewImage(), ['area' => $theme->getData('area'), 'themeModel' => $theme])->getSourceFile() : $this->mediaDirectory->getAbsolutePath(self::PREVIEW_DIRECTORY_PATH . '/' . $theme->getPreviewImage());
 }