Estamos escribiendo algunos códigos para controlar la paginación de los resultados devueltos por una consulta de base de datos de Tridion Broker (utilizando la API).Paginación de Tridion: obtención del número total de resultados
Estamos utilizando SDL Tridion 2011 SP1 y podemos usar el Filtro de paginación para obtener los tcmIds de solo los Componentes en la página seleccionada.
Sin embargo, mientras escribimos el control de paginación, necesitamos saber el número total de resultados (para determinar cuántas páginas habrá). ¿Hay un mecanismo más eficiente para hacer esto que simplemente ejecutar una consulta separada para 'todos' los resultados y hacer un .Length en la matriz de cadenas devuelta? (Obviamente, solo ejecutaría esta consulta una vez y persistiría ese valor mientras el usuario hace clic entre páginas)
Si obtenemos todos los resultados, ¿por qué me molestaría en usar PagingFilter cuando solo podemos procesar la información devuelta? en la consulta 'todo'?
Muchas gracias de antemano, Jonathan
NOTA: Probablemente habrá un máximo de 2000 resultados de cualquier tipo devuelto.
Entiendo que los objetos devueltos por la entrega de contenido anterior se almacenaron en caché pero ahora las consultas del intermediario (coincidencia exacta) están almacenadas en caché (¿desde Tridion 2011?) --_ tal vez_ ¿podría ser una razón para usar un filtro específico? He visto paginación con JavaScript, pero no estoy seguro de ideas mejores que su enfoque de dos consultas. –
Gran pregunta Jon, no parece que puedas hacer una consulta de estilo "COUNT (....)". – Neil
Gracias Neil. Sí, pensamos que podría haber un mecanismo COUNT (...) más eficiente también. El enfoque de PagingFilter es muy útil si SABE cuántas páginas tendrá o no necesita saber cuántas páginas (y manejar las matrices vacías que se devuelven de manera efectiva), pero habría pensado que esto es bastante raro. –