JSP-Templates für Publikationen und Projekte mit der CustomizableObjectList
git-svn-id: https://svn.libreccm.org/ccm/trunk@815 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
439e2d7630
commit
3f6e7f6f5e
|
|
@ -9,6 +9,8 @@
|
||||||
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||||
|
<jsp:directive.page import="com.arsdigita.london.navigation.ui.object.CompareFilter"/>
|
||||||
|
|
||||||
<jsp:scriptlet>
|
<jsp:scriptlet>
|
||||||
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
|
@ -20,8 +22,7 @@
|
||||||
</jsp:scriptlet>
|
</jsp:scriptlet>
|
||||||
|
|
||||||
<define:page name="defaultItemPage" application="navigation"
|
<define:page name="defaultItemPage" application="navigation"
|
||||||
title="Navigation" cache="true">
|
title="Navigation" cache="false">
|
||||||
|
|
||||||
<define:component name="greetingItem"
|
<define:component name="greetingItem"
|
||||||
classname="com.arsdigita.london.navigation.ui.GreetingItem"/>
|
classname="com.arsdigita.london.navigation.ui.GreetingItem"/>
|
||||||
<define:component name="categoryPath"
|
<define:component name="categoryPath"
|
||||||
|
|
@ -29,18 +30,31 @@
|
||||||
<define:component name="categoryMenu"
|
<define:component name="categoryMenu"
|
||||||
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
|
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
|
||||||
<define:component name="itemList"
|
<define:component name="itemList"
|
||||||
classname="com.arsdigita.london.navigation.ui.object.SimpleObjectList"/>
|
classname="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||||
|
|
||||||
<jsp:scriptlet>
|
<jsp:scriptlet>
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
CustomizableObjectList objList = (CustomizableObjectList) itemList;
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
objList.setDefinition(new CMSDataCollectionDefinition());
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.ContentPage");
|
objList.setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
objList.setCustomName("SciProjectList");
|
||||||
|
objList.getDefinition().setObjectType("com.arsdigita.cms.contenttypes.SciProject");
|
||||||
|
objList.getDefinition().setDescendCategories(false);
|
||||||
|
objList.addTextFilter("title", "title");
|
||||||
|
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().setDescendCategories(false);
|
java.util.GregorianCalendar now = new java.util.GregorianCalendar();
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getDefinition().addOrder("title");
|
String today = String.format("%d-%02d-%02d", now.get(java.util.GregorianCalendar.YEAR),
|
||||||
|
now.get(java.util.GregorianCalendar.MONTH) + 1,
|
||||||
|
now.get(java.util.GregorianCalendar.DATE));
|
||||||
|
|
||||||
|
objList.addCompareFilter("projectend", "projectstatus", true, true, false)
|
||||||
|
.addOption("ongoing", CompareFilter.Operators.GTEQ, today)
|
||||||
|
.addOption("finished", CompareFilter.Operators.LT, today);
|
||||||
|
objList.addSortField("title", "title asc");
|
||||||
|
objList.getDefinition().addOrder(objList.getOrder(request.getParameter("sort")));
|
||||||
|
|
||||||
|
objList.getRenderer().setPageSize(20);
|
||||||
|
objList.getRenderer().setSpecializeObjects(true);
|
||||||
|
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setPageSize(20);
|
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setSpecializeObjects(true);
|
|
||||||
((com.arsdigita.london.navigation.ui.object.SimpleObjectList) itemList).getRenderer().setSpecializeObjectsContext("sciProjectList");
|
|
||||||
</jsp:scriptlet>
|
</jsp:scriptlet>
|
||||||
|
|
||||||
<define:component name="assignedTerms"
|
<define:component name="assignedTerms"
|
||||||
|
|
@ -49,5 +63,4 @@
|
||||||
</define:page>
|
</define:page>
|
||||||
<show:all/>
|
<show:all/>
|
||||||
|
|
||||||
|
|
||||||
</jsp:root>
|
</jsp:root>
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
<jsp:directive.page import="com.arsdigita.london.navigation.Navigation"/>
|
||||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionDefinition"/>
|
||||||
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
<jsp:directive.page import="com.arsdigita.london.navigation.cms.CMSDataCollectionRenderer"/>
|
||||||
<jsp:directive.page import="org.apache.log4j.Logger"/>
|
<jsp:directive.page import="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||||
|
|
||||||
<jsp:scriptlet>
|
<jsp:scriptlet>
|
||||||
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
long age = Navigation.getConfig().getIndexPageCacheLifetime();
|
||||||
|
|
@ -22,7 +22,6 @@
|
||||||
|
|
||||||
<define:page name="defaultItemPage" application="navigation"
|
<define:page name="defaultItemPage" application="navigation"
|
||||||
title="Navigation" cache="false">
|
title="Navigation" cache="false">
|
||||||
|
|
||||||
<define:component name="greetingItem"
|
<define:component name="greetingItem"
|
||||||
classname="com.arsdigita.london.navigation.ui.GreetingItem"/>
|
classname="com.arsdigita.london.navigation.ui.GreetingItem"/>
|
||||||
<define:component name="categoryPath"
|
<define:component name="categoryPath"
|
||||||
|
|
@ -30,45 +29,27 @@
|
||||||
<define:component name="categoryMenu"
|
<define:component name="categoryMenu"
|
||||||
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
|
classname="com.arsdigita.london.navigation.ui.category.Menu"/>
|
||||||
<define:component name="itemList"
|
<define:component name="itemList"
|
||||||
classname="com.arsdigita.london.navigation.ui.object.ComplexObjectList"/>
|
classname="com.arsdigita.london.navigation.ui.object.CustomizableObjectList"/>
|
||||||
|
|
||||||
<jsp:scriptlet>
|
<jsp:scriptlet>
|
||||||
|
CustomizableObjectList objList = (CustomizableObjectList) itemList;
|
||||||
|
objList.setDefinition(new CMSDataCollectionDefinition());
|
||||||
|
objList.setRenderer(new CMSDataCollectionRenderer());
|
||||||
|
objList.setCustomName("SciPublicationsList");
|
||||||
|
objList.getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Publication");
|
||||||
|
objList.getDefinition().setDescendCategories(false);
|
||||||
|
objList.addTextFilter("title", "title");
|
||||||
|
objList.addTextFilter("authors.surname", "author");
|
||||||
|
objList.addSelectFilter("yearOfPublication", "yearOfPublication", true, true, true, true);
|
||||||
|
objList.addSortField("title", "title asc");
|
||||||
|
objList.addSortField("yearAsc", "yearOfPublication asc");
|
||||||
|
objList.addSortField("yearDesc", "yearOfPublication desc");
|
||||||
|
objList.addSortField("authors", "authors.surname asc, authors.givenname asc");
|
||||||
|
objList.getDefinition().addOrder(objList.getOrder(request.getParameter("sort")));
|
||||||
|
|
||||||
org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger("SciPublicationListJsp");
|
objList.getRenderer().setPageSize(20);
|
||||||
|
objList.getRenderer().setSpecializeObjects(true);
|
||||||
|
|
||||||
application.log("JSP::Configuring object list...");
|
|
||||||
logger.warn("JSP::Configuring object list...");
|
|
||||||
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).setDefinition(new CMSDataCollectionDefinition());
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).setRenderer(new CMSDataCollectionRenderer());
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().setObjectType("com.arsdigita.cms.contenttypes.Publication");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).setCustomName("SciPublicationsList");
|
|
||||||
|
|
||||||
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().setDescendCategories(false);
|
|
||||||
logger.warn(String.format("JSP::orderBy = %s", request.getParameter("orderBy")));
|
|
||||||
if((request.getParameter("orderBy") == null)) {
|
|
||||||
logger.warn("JSP::Setting list order to 'title'...");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("title");
|
|
||||||
} else {
|
|
||||||
if("title".equals(request.getParameter("orderBy"))) {
|
|
||||||
logger.warn("JSP::Setting list order to 'title'...");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("title");
|
|
||||||
} else if("authors".equals(request.getParameter("orderBy"))) {
|
|
||||||
logger.warn("JSP::Setting list order to 'authors'...");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("authors asc");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("authors.givenname asc");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("authors.link.editor asc");
|
|
||||||
} else if("year".equals(request.getParameter("orderBy"))) {
|
|
||||||
logger.warn("JSP::Setting list order to 'yearOfPublication'...");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("yearOfPublication asc");
|
|
||||||
} else {
|
|
||||||
logger.warn("JSP::Unknown value for order, setting list order to 'title'...");
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getDefinition().addOrder("title");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getRenderer().setPageSize(20);
|
|
||||||
((com.arsdigita.london.navigation.ui.object.ComplexObjectList) itemList).getRenderer().setSpecializeObjects(true);
|
|
||||||
</jsp:scriptlet>
|
</jsp:scriptlet>
|
||||||
|
|
||||||
<define:component name="assignedTerms"
|
<define:component name="assignedTerms"
|
||||||
|
|
@ -77,5 +58,4 @@
|
||||||
</define:page>
|
</define:page>
|
||||||
<show:all/>
|
<show:all/>
|
||||||
|
|
||||||
|
|
||||||
</jsp:root>
|
</jsp:root>
|
||||||
Loading…
Reference in New Issue