La portlet Liste permet d’effectuer une requête Nuxeo en utilisant le langage NxSQL.
Il est possible ensuite de spécifier des éléments sur cette liste :
Exemple de code NxSql en utilisant les selecteurs :
/*
implicits variables :
- navigationPath : current navigation folder path
- navigationPubInfos : current navigation publication infos
navigationPubInfos.getLiveId() to get folder's live ID
- basePath : page folder path
- contentPath : current item path
- request : portlet request
- params : public selectors (shared parameters)
- spaceId : space's (workspace or published space) live id
*/
import java.util.List;
import java.util.Arrays;
String requete = "ecm:path STARTSWITH '"+navigationPath+"'";
// format search by title
if (params.get("title") != null) {
requete += " AND " + NXQLFormater.formatTextSearch("dc:title",params.get("title")) ;
}
//format for dates search
if (params.get("datesId") != null) {
requete += " AND " + NXQLFormater.formatDateSearch("dc:created",params.get("datesId")) ;
}
// format search by nature
if (params.get("nature") != null) {
requete += " AND " + NXQLFormater.formatVocabularySearch("dc:nature",params.get("nature")) ;
}
// get childrens
requete += "AND ecm:parentId = '"+navigationPubInfos.getLiveId()+"'";
requete += " ORDER BY dc:modified DESC";
return requete;