Sprachunabhängige ContentItems
* AbstractObjectList: Anzeige korrigiert, sollte nun in Ordnung sein. git-svn-id: https://svn.libreccm.org/ccm/trunk@1187 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
070b43f9fd
commit
85885a777e
|
|
@ -6,6 +6,23 @@ object type Navigation extends Application {
|
||||||
reference key (nav_app.application_id);
|
reference key (nav_app.application_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Subquery for AbstractObjectList used as a filter
|
||||||
|
// to figure out which object have a match in the
|
||||||
|
// selected languages and don't have to match to a
|
||||||
|
// language independent content item
|
||||||
|
query getParentIDsOfMatchedItems {
|
||||||
|
BigDecimal parent;
|
||||||
|
|
||||||
|
do {
|
||||||
|
select parent_id
|
||||||
|
from cms_items
|
||||||
|
where version = 'live'
|
||||||
|
and language = :language
|
||||||
|
} map {
|
||||||
|
parent = parent_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
query ItemsByCategory {
|
query ItemsByCategory {
|
||||||
BigDecimal itemID;
|
BigDecimal itemID;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,10 @@ public abstract class AbstractObjectList
|
||||||
FilterFactory ff = objects.getFilterFactory();
|
FilterFactory ff = objects.getFilterFactory();
|
||||||
Filter filter = ff.or().
|
Filter filter = ff.or().
|
||||||
addFilter(ff.equals("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())).
|
addFilter(ff.equals("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())).
|
||||||
addFilter(ff.equals("language", GlobalizationHelper.LANG_INDEPENDENT));
|
addFilter(ff.and().
|
||||||
|
addFilter(ff.equals("language", GlobalizationHelper.LANG_INDEPENDENT)).
|
||||||
|
addFilter(ff.notIn("parent", "com.arsdigita.london.navigation.getParentIDsOfMatchedItems")
|
||||||
|
.set("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage())));
|
||||||
objects.addFilter(filter);
|
objects.addFilter(filter);
|
||||||
} else {
|
} else {
|
||||||
objects.addEqualsFilter("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage());
|
objects.addEqualsFilter("language", com.arsdigita.globalization.GlobalizationHelper.getNegotiatedLocale().getLanguage());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue