如何通过灵活搜索获取每个国家/地区的活动区域列表

时间:2016-03-29 02:38:03

标签: hybris

有没有办法通过灵活的搜索查询获取每个国家/地区的活动区域列表?当我使用I18外观时,为了获得区域,我得到了活动和非活动区域。

3 个答案:

答案 0 :(得分:0)

你的意思是什么?

SELECT * FROM {Region} WHERE {active}=1

答案 1 :(得分:0)

首先为什么需要获得这样的清单?使用链接到您商店的国家/地区列表是否未满足您的要求?不要忘记Hybris是多店铺的,所以不应激活或停用国家和地区,而应将国家/地区附加到您的商店并使用该列表。

活动属性来自C2L项目,您可以使用'C2LManager'获取活动国家/地区列表,但它使用Jalo Layer,这是使用Groovy的示例:

import java.util.Set
import de.hybris.platform.jalo.c2l.Country
import de.hybris.platform.jalo.c2l.Region
import de.hybris.platform.jalo.c2l.C2LManager
import java.util.Iterator

Set<Country> countries = C2LManager.getInstance().getActiveCountries()

Iterator it = countries.iterator()

Country country = it.next()
println country.getIsoCode()

Set<Region> regions = country.getRegions()
println regions.size()

编辑:FSQ获取所有活动区域名称:

SELECT {re:name} 
    FROM {Region as re JOIN Country as co on {re:country} = {co:pk}}
    WHERE {re:active}=1 and {co:active}=1

答案 2 :(得分:0)

灵活搜索查询

select {region.pk} from {Country as country}, {Region as region} where {region.country} = {country.pk} and {region.active} = 1 and {country.isocode} = 'US'