51 parent::__construct($context);
61 return $this->_authorization->isAllowed(
'Magento_Config::config_design');
75 $resultRedirect = $this->resultRedirectFactory->create();
76 $scope = $this->
getRequest()->getParam(
'scope');
77 $scopeId = (int)$this->
getRequest()->getParam(
'scope_id');
81 $designConfigData = $this->configFactory->create($scope, $scopeId,
$data);
82 $this->designConfigRepository->save($designConfigData);
83 $this->messageManager->addSuccessMessage(
__(
'You saved the configuration.'));
85 $this->dataPersistor->clear(
'theme_design_config');
87 $returnToEdit = (bool)$this->
getRequest()->getParam(
'back',
false);
88 $resultRedirect->setPath(
'theme/design_config/');
90 $resultRedirect->setPath(
'theme/design_config/edit', [
'scope' => $scope,
'scope_id' => $scopeId]);
92 return $resultRedirect;
94 $messages = explode(
"\n", $e->getMessage());
96 $this->messageManager->addErrorMessage(
__(
'%1',
$message));
98 }
catch (\Exception $e) {
99 $this->messageManager->addExceptionMessage(
101 __(
'Something went wrong while saving this configuration:') .
' ' . $e->getMessage()
105 $this->dataPersistor->set(
'theme_design_config',
$data);
107 $resultRedirect->setPath(
'theme/design_config/edit', [
'scope' => $scope,
'scope_id' => $scopeId]);
108 return $resultRedirect;
122 $data = array_filter(
$data,
function ($param) {
123 return isset($param[
'error']) && $param[
'error'] > 0 ?
false :
true;
131 if (isset(
$data[
'theme_theme_id']) &&
$data[
'theme_theme_id'] ===
'') {
132 $data[
'theme_theme_id'] =
null;
__construct(Context $context, DesignConfigRepository $designConfigRepository, ConfigFactory $configFactory, DataPersistorInterface $dataPersistor)