Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将每个本地化布尔属性值更新为TRUE_Java_Hybris_Impex - Fatal编程技术网

Java 将每个本地化布尔属性值更新为TRUE

Java 将每个本地化布尔属性值更新为TRUE,java,hybris,impex,Java,Hybris,Impex,我已将type=“localized:java.lang.Boolean”的新属性“showFlag”添加到itemtype VariantProduct中,并将默认值设置为TRUE。但对于现有的VariantProduct,该值为n/a。 我想更新所有现有变体产品的所有语言(本地化)将值显示为“是”。如何做到这一点?使用bean shell并使用I18N服务迭代每种语言?使用bean shell并使用I18N服务迭代每种语言?实现这一点的简单解决方案是使用类似这样的groovy脚本 impo

我已将type=“localized:java.lang.Boolean”的新属性“showFlag”添加到itemtype VariantProduct中,并将默认值设置为TRUE。但对于现有的VariantProduct,该值为n/a。


我想更新所有现有变体产品的所有语言(本地化)将值显示为“是”。如何做到这一点?

使用bean shell并使用I18N服务迭代每种语言?

使用bean shell并使用I18N服务迭代每种语言?

实现这一点的简单解决方案是使用类似这样的groovy脚本

import de.hybris.platform.servicelayer.model.ModelService;
import de.hybris.platform.servicelayer.search.FlexibleSearchQuery;
import de.hybris.platform.servicelayer.search.FlexibleSearchService;
import de.hybris.platform.servicelayer.search.SearchResult
import de.hybris.platform.variants.jalo.VariantProduct


FlexibleSearchService flexibleSearchService=(FlexibleSearchService)spring.getBean("flexibleSearchService");
ModelService modelService=(ModelService)spring.getBean("modelService");

List<Locale> locals = Arrays.asList(Locale.getAvailableLocales()); 

queryString="Select {pk} from {variantProduct} ";

FlexibleSearchQuery query=new FlexibleSearchQuery(queryString);

SearchResult result=flexibleSearchService.search(query);


List<VariantProduct> products = result.getResult();

for(VariantProduct variantModel : products){

    for (Locale locale : locals){
        variantModel.setShowFlag(Boolean.TRUE,locale);
    }
    modelService.save(variantModel);
}
import de.hybris.platform.servicelayer.model.ModelService;
导入de.hybris.platform.servicelayer.search.FlexibleSearchQuery;
导入de.hybris.platform.servicelayer.search.FlexibleSearchService;
导入de.hybris.platform.servicelayer.search.SearchResult
导入de.hybris.platform.variants.jalo.VariantProduct
FlexibleSearchService FlexibleSearchService=(FlexibleSearchService)spring.getBean(“FlexibleSearchService”);
ModelService ModelService=(ModelService)spring.getBean(“ModelService”);
List locals=Arrays.asList(Locale.getavailablecales());
queryString=“从{variantProduct}中选择{pk}”;
FlexibleSearchQuery查询=新建FlexibleSearchQuery(queryString);
SearchResult=flexibleSearchService.search(查询);
List products=result.getResult();
对于(VariantProduct variantModel:products){
for(区域设置:本地){
variantModel.setShowFlag(Boolean.TRUE,区域设置);
}
modelService.save(variantModel);
}
调整此代码以满足您的需要


希望这有帮助

实现这一点的简单解决方案是使用groovy脚本

import de.hybris.platform.servicelayer.model.ModelService;
import de.hybris.platform.servicelayer.search.FlexibleSearchQuery;
import de.hybris.platform.servicelayer.search.FlexibleSearchService;
import de.hybris.platform.servicelayer.search.SearchResult
import de.hybris.platform.variants.jalo.VariantProduct


FlexibleSearchService flexibleSearchService=(FlexibleSearchService)spring.getBean("flexibleSearchService");
ModelService modelService=(ModelService)spring.getBean("modelService");

List<Locale> locals = Arrays.asList(Locale.getAvailableLocales()); 

queryString="Select {pk} from {variantProduct} ";

FlexibleSearchQuery query=new FlexibleSearchQuery(queryString);

SearchResult result=flexibleSearchService.search(query);


List<VariantProduct> products = result.getResult();

for(VariantProduct variantModel : products){

    for (Locale locale : locals){
        variantModel.setShowFlag(Boolean.TRUE,locale);
    }
    modelService.save(variantModel);
}
import de.hybris.platform.servicelayer.model.ModelService;
导入de.hybris.platform.servicelayer.search.FlexibleSearchQuery;
导入de.hybris.platform.servicelayer.search.FlexibleSearchService;
导入de.hybris.platform.servicelayer.search.SearchResult
导入de.hybris.platform.variants.jalo.VariantProduct
FlexibleSearchService FlexibleSearchService=(FlexibleSearchService)spring.getBean(“FlexibleSearchService”);
ModelService ModelService=(ModelService)spring.getBean(“ModelService”);
List locals=Arrays.asList(Locale.getavailablecales());
queryString=“从{variantProduct}中选择{pk}”;
FlexibleSearchQuery查询=新建FlexibleSearchQuery(queryString);
SearchResult=flexibleSearchService.search(查询);
List products=result.getResult();
对于(VariantProduct variantModel:products){
for(区域设置:本地){
variantModel.setShowFlag(Boolean.TRUE,区域设置);
}
modelService.save(variantModel);
}
调整此代码以更符合您的需要


希望这对您有所帮助

您可以使用impex批处理模式以最快的方式更新它们

UPDATE Product[batchmode=true];itemType(code)[unique=true];description[en][default='test']
;Product;
;VariantProduct;

您可以使用impex批处理模式以最快的方式更新它们

UPDATE Product[batchmode=true];itemType(code)[unique=true];description[en][default='test']
;Product;
;VariantProduct;

对于上述问题,以下impex导入脚本运行良好:

UPDATE VariantProduct[batchmode=true];itemtype(code)[unique=true];showFlag[lang=en_GL];showFlag[lang=en_ZA];showFlag[lang=en_CA];showFlag[lang=en_US];showFlag[lang=en_AP];showFlag[lang=en_IN];showFlag[lang=en_CE];showFlag[lang=en_ME];showFlag[lang=en_SG];showFlag[lang=en_AU];showFlag[lang=en_PH];showFlag[lang=en_MA];showFlag[lang=en_GB];

;HenkelVariantProduct;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE

对于上述问题,以下impex导入脚本运行良好:

UPDATE VariantProduct[batchmode=true];itemtype(code)[unique=true];showFlag[lang=en_GL];showFlag[lang=en_ZA];showFlag[lang=en_CA];showFlag[lang=en_US];showFlag[lang=en_AP];showFlag[lang=en_IN];showFlag[lang=en_CE];showFlag[lang=en_ME];showFlag[lang=en_SG];showFlag[lang=en_AU];showFlag[lang=en_PH];showFlag[lang=en_MA];showFlag[lang=en_GB];

;HenkelVariantProduct;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE

使用script/flexible query,您可以迭代所有模型并为所有本地设置true使用script/flexible query,您可以迭代所有模型并为所有本地设置true此方法似乎更好。此方法似乎更好。