Skip to content
Snippets Groups Projects
Select Git revision
  • a30f73c37301c9181c57fba2193b822a6db8d0aa
  • develop default protected
  • 1.3 protected
  • 1.1
  • 1.2 protected
  • 1.0
  • 13-export-cli-command
  • 1.7.0
  • 1.6.0
  • 1.5.0
  • 1.4.3
  • 1.4.2
  • 1.4.1
  • 1.4.0
  • 1.3.7
  • 1.3.6
  • 1.3.5
  • 1.3.4
  • 1.3.3
  • 1.3.2
  • 1.3.1
  • 1.3.0
  • 1.1.4
  • 1.2.5
  • 1.2.4
  • 1.2.3
  • 1.0.6
27 results

Converter.php

Blame
  • Converter.php 1.42 KiB
    <?php
    declare(strict_types=1);
    
    namespace Firegento\ContentProvisioning\Model\Config;
    
    use Magento\Framework\Config\ConverterInterface;
    use Magento\Framework\Exception\LocalizedException;
    use Psr\Log\LoggerInterface;
    
    class Converter implements ConverterInterface
    {
        /**
         * @var LoggerInterface
         */
        private $logger;
    
        /**
         * @var ConverterInterface
         */
        private $pageNodeConverter;
    
        /**
         * @var ConverterInterface
         */
        private $blockNodeConverter;
    
        /**
         * @param ConverterInterface $pageNodeConverter
         * @param ConverterInterface $blockNodeConverter
         * @param LoggerInterface $logger
         */
        public function __construct(
            ConverterInterface $pageNodeConverter,
            ConverterInterface $blockNodeConverter,
            LoggerInterface $logger
        ) {
            $this->logger = $logger;
            $this->pageNodeConverter = $pageNodeConverter;
            $this->blockNodeConverter = $blockNodeConverter;
        }
    
        /**
         * {@inheritdoc}
         * @throws LocalizedException
         */
        public function convert($source): array
        {
            try {
                return [
                    'pages' => $this->pageNodeConverter->convert($source),
                    'blocks' => $this->blockNodeConverter->convert($source),
                ];
            } catch (\Exception $exception) {
                $this->logger->error($exception->getMessage(), $exception->getTrace());
            }
            return [];
        }
    }