2016-03-29 4 views
1

Gibt es eine Möglichkeit, eine Liste aktiver Regionen pro Land durch flexible Suchabfrage zu erhalten? Wenn ich I18 Fassade verwende, um Regionen zu erhalten, bekomme ich sowohl aktive als auch inaktive Regionen.Wie man eine Liste der aktiven Regionen pro Land durch flexible Suche erhält

+0

@sandeed schauen Sie sich meine Bearbeitung an, ich habe den vollständigen FSQ hinzugefügt, um die Liste der aktiven Regionen pro Land zu erhalten –

Antwort

0

Meinst du sowas?

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

Zuerst warum brauchen Sie, um eine solche Liste zu bekommen? Verwendet die Liste der Länder, die mit Ihrem Geschäft verknüpft sind, nicht Ihre Anforderungen? Vergiss nicht, dass Hybris ein Multi-Store ist. Anstatt Länder und Regionen zu aktivieren oder zu deaktivieren, solltest du Länder an deinen Store anschließen und diese Liste verwenden.

Das aktive Attribut stammt aus C2L Element, das Sie die ‚C2LManager‘ verwenden, um eine Liste der aktiven Länder zu bekommen, aber es nutzt die Dschalo Schicht, hier ist ein Beispiel unter Verwendung von 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() 

EDIT : die FSQ alle aktiven Regionen Namen zu erhalten:

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

Flexible Suchabfrage

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

Verwandte Themen