mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 17:27:36 +00:00
58 lines
1.5 KiB
PHP
58 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
declare(strict_types=1);
|
|
|
|
namespace Magento\Search\Setup;
|
|
|
|
use Magento\Framework\App\Config\Storage\WriterInterface;
|
|
use Magento\Setup\Model\SearchConfigOptionsList;
|
|
|
|
/**
|
|
* Configure Search engine based on installation input
|
|
*/
|
|
class InstallConfig implements InstallConfigInterface
|
|
{
|
|
private const CATALOG_SEARCH = 'catalog/search/';
|
|
|
|
/**
|
|
* @var array
|
|
*/
|
|
private $searchConfigMapping = [
|
|
SearchConfigOptionsList::INPUT_KEY_SEARCH_ENGINE => 'engine'
|
|
];
|
|
|
|
/**
|
|
* @var WriterInterface
|
|
*/
|
|
private $configWriter;
|
|
|
|
/**
|
|
* @param WriterInterface $configWriter
|
|
* @param array $searchConfigMapping
|
|
*/
|
|
public function __construct(
|
|
WriterInterface $configWriter,
|
|
array $searchConfigMapping = []
|
|
) {
|
|
$this->configWriter = $configWriter;
|
|
$this->searchConfigMapping = array_merge($this->searchConfigMapping, $searchConfigMapping);
|
|
}
|
|
|
|
/**
|
|
* @inheritDoc
|
|
*/
|
|
public function configure(array $inputOptions)
|
|
{
|
|
foreach ($inputOptions as $inputKey => $inputValue) {
|
|
if (null === $inputValue || !isset($this->searchConfigMapping[$inputKey])) {
|
|
continue;
|
|
}
|
|
$configKey = $this->searchConfigMapping[$inputKey];
|
|
$this->configWriter->save(self::CATALOG_SEARCH . $configKey, $inputValue);
|
|
}
|
|
}
|
|
}
|