|
Bonjour, J’ai trouvé mon problème.
Avec un absoluteContainerList, on doit utiliser les constructeurs qui demande l’id
de page et non ceux qui demande le nom du containerList. Pour le filtre : ContainerFilters
containerFilters = new ContainerFilters( 203,cFilterBeans); Pour le trie : ContainerSorterBean
sorter = new ContainerSorterBean(203,nomSort,jParams.getEntryLoadRequest()); Merci ! De :
Jean-Francois Fournier [mailto:[EMAIL PROTECTED] Bonjour,
Je fais des testes sur le fonctionnement du filtering et du sorting sur un
absoluteContaineurList. J’ai déjà réussi à faire appliquer un filtre et
un trie sur un containeurList. Je veux maintenant le faire sur un
absoluteContaineurList. J’ai donc pris le même code et changer les noms.
La recherche fonctionne correctement. La pagination aussi, mis à part le
windowSize par defaut, mais j’ai déjà écrit un sujet à ce propos. Par
contre, le filtre et le trie ne fonctionnent pas. Y à t – il quelque
chose de différent à faire lorsque l’on veut appliquer un filtre ou un
trie sur un absoluteContainerList ? Merci! J’utilise Jahia 4.0.5 Voici mon code : <?xml version="1.0"
encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <%@ include
file="include/declarations.jsp"%> <%//traitement du filter (doit
etre avant toute déclaration selon le guide) // Our vector of container filter beans Vector cFilterBeans = new Vector(); ContainerFilterBean containerFilter =
null; String selNom =
request.getParameter("nom_filter"); if ( selNom == null ) { selNom = "Tous"; // By default,
select all Skills. } if ( !selNom.equals("Tous") ) { // Create a filter only if needed. // The filter is created with the
field name containerFilter = new
ContainerFilterBean("nom", jParams.getEntryLoadRequest()); // Then we add a comparison clause
, here an EQUAL comparison.
containerFilter.addClause(ContainerFilterBean.COMP_EQUAL,selNom); } if ( containerFilter != null ) { // Add the Filter Bean to the
vector cFilterBeans.add(containerFilter); } // reset the Container Filter Bean. containerFilter = null; // Now we create the Filters Handler, only
if there is at least one // available Filter Bean. if ( cFilterBeans.size()>0 ) { ContainerFilters containerFilters
= new ContainerFilters( "listeRessource",
jParams,cFilterBeans); // Store the list of filters in the
request object. // It will be used later by the
container list loader. request.setAttribute(
"listeRessource_filter_handler", containerFilters); } //traitement du sorte String nomSort =
request.getParameter("listeRessource_sort"); if ( nomSort == null ) { nomSort = "none"; // By
default, no Sort required. } String nomSortOrder =
request.getParameter("listeRessource_sort_order"); if ( nomSortOrder == null ) { nomSortOrder = "asc"; //
By default set to Ascending. } if ( !nomSort.equals("none") ) { ContainerSorterBean sorter = new
ContainerSorterBean("listeRessource",jParams,nomSort,false,jParams.getEntryLoadRequest()); if (
!nomSortOrder.equals("asc") ) {
sorter.setDescOrdering(); } else { sorter.setAscOrdering(); } // Store the sort handler in the
request object. // It will be used later by the
container list loader.
request.setAttribute("listeRessource_sort_handler", sorter); } //traitement du search String searchQuery = request.getParameter(JahiaSearchConstant.CLIST_SEARCHQUERY_INPUT_PREFIX+
"listeRessource"); if (searchQuery != null &&
!"".equals(searchQuery.trim()) ) { ContainerSearcher
containerSearcher = new ContainerSearcher("listeRessource",jParams,
searchQuery,jParams.getEntryLoadRequest());
request.setAttribute("listeRessource_search_handler",containerSearcher); } %>
<%//declaration%> <content:declareContainerList
name="test" title="test">
<content:declareContainer>
<content:declareField name="nom" title="Nom affiché dans la
liste" type="SmallText"/>
</content:declareContainer> </content:declareContainerList>
<%//test pour le sort%> <div
id="chercher"> <%
/*Inversion du trie*/
String prochaineTrie = "asc";
if(nomSortOrder.equals("asc"))
{
prochaineTrie = "desc";
} %> <a
href=""
par nom (<%=prochaineTrie%>)</a> <content:jahiaPageForm
name="formTest">
<content:absoluteContainerList name="listeRessource"
id="listeRessource" pageId="203"
windowSize="5">
<input type="text" name="<content:ctnListSQueryInputName/>"
value="<content:ctnListSQueryInputValue/>"
/>
<%//test pour le filter%>
<select name="nom_filter">
<option value="Tous">Tous</option>
<option value="fournier">fournier</option>
<option value="bouchard">bouchard</option>
</select>
<%//test pour le window size%> <select class="text" name="listeRessource_windowsize" >
<option></option>
<option value="3">3</option>
<option value="5">5</option>
<option value="10">10</option>
</select>
<input type="submit" value="go" /> <br
/> <%//pagination%> <p>
[<content:cListPaginationFirstItemIndex /> -
<content:cListPaginationLastItemIndex />] of <content:cListPaginationTotalSize
/>
<content:previousWindowButton title="<<Prev" />
<content:cListPagination nbStepPerPage="3">
<content:ifCListPaginationCurrentPage><b>
</content:ifCListPaginationCurrentPage>
<content:cListPaginationPreviousRangeOfPages
title=" .. "/>
<content:cListPaginationPageUrl/>  <content:cListPaginationNextRangeOfPages
title=" .. "/>
<content:ifCListPaginationCurrentPage></b>
</content:ifCListPaginationCurrentPage> </content:cListPagination> <content:nextWindowButton
title="Next>>" /> </p>
<content:cListPaginationCurrentPageScrollingValue
valueOnly="false" />
<content:container id="listeRessourceContainer">
<content:textField name='nom' valueId='nom' diffActive='true' />,
<content:textField name='prenom' valueId='prenom' diffActive='true' />
<br />
</content:container>
</content:absoluteContainerList> </content:jahiaPageForm> |
- filter, sort, et absoluteContainerList Jean-Francois Fournier
- RE: filter, sort, et absoluteContainerList Jean-Francois Fournier
