diff --git a/Core/ConfigImport.php b/Core/ConfigImport.php index 5dd9447..7b9c22b 100644 --- a/Core/ConfigImport.php +++ b/Core/ConfigImport.php @@ -244,29 +244,34 @@ protected function importShopsConfig($aConfigValues) if ($langId == 0) { continue; } + $availableInLangs = $oShop->getAvailableInLangs(); $viewNameGenerator = oxNew(\OxidEsales\Eshop\Core\TableViewNameGenerator::class); $viewName = $viewNameGenerator->getViewName('oxshops', $langId); + substr($viewName, 12); $oShop->setLanguage($langId); - if (!is_numeric(substr($viewName, 12))) { - $oShop->loadInLang($langId, $sShopId); - } - foreach ($aOxShopSettings as $sVarName => $mVarValue) { - $iPosUnderscore = strrpos($sVarName, '_'); - if ($iPosUnderscore !== false) { - $sStringAfterUnderscore = substr($sVarName, $iPosUnderscore + 1); - if (is_numeric($sStringAfterUnderscore) && $sStringAfterUnderscore == $langId) { - $sFiledName = substr($sVarName, 0, $iPosUnderscore); // String before last underscore - $aOxShopSettings[$sFiledName] = $mVarValue; + if (isset($availableInLangs[$langId])) { + if (!is_numeric(substr($viewName, 12))) { + $oShop->loadInLang($langId, $sShopId); + } + foreach ($aOxShopSettings as $sVarName => $mVarValue) { + $iPosUnderscore = strrpos($sVarName, '_'); + if ($iPosUnderscore !== false) { + $sStringAfterUnderscore = substr($sVarName, $iPosUnderscore + 1); + if (is_numeric($sStringAfterUnderscore) && $sStringAfterUnderscore == $langId) { + $sFiledName = substr($sVarName, 0, $iPosUnderscore); // String before last underscore + $aOxShopSettings[$sFiledName] = $mVarValue; + } } } + $oShop->assign($aOxShopSettings); + $oShop->save(); } - $oShop->assign($aOxShopSettings); - $oShop->save(); } } } } + /** * Create new sub-shop through config file *