Pregunta

Puedo filtrar los resultados de CQWP utilizando la cadena de consulta utilizando la palabra clave (PageQueryString) (referencia: http://blogs.msdn.com/b/ecm/archive/2010/05/14/what-s-new-with-the-content-query-web-part.aspx ) ¿Hay una forma similar de filtrar los resultados usando el valor de una cookie?

¿Fue útil?

Solución

Creo que deberías usar la idea de este impresionante artículo de Andrew Connel:

http://www.andrewconnell.com/blog/archive/2008/02/18/subclassing-the-content-query-web-part-adding-dynamic-filtering.aspx

Todo lo que necesitas hacer en realidad es reemplazar Request.QueryString a Request.cookies.

Otros consejos

Probablemente podrás hacer esto, pero no puedes hacerlo en el CQWP en sí. El XSL en el CQWP ejecuta el lado del servidor, y la cookie va a vivir el lado del cliente. En su lugar, puede usar script (recomendaría jQuery) para leer la cookie y filtrar aún más lo que el CQWP ha enviado al navegador.

Alternativamente, puede usar el script del lado del cliente completamente con el cliente OM o Spservices.

Puede obtener la información de una cookie. Aquí esta lo que hice.

    private string GetCookieInfo(string cookieName)
    {
        string cookieInformation = null;
        if (HttpContext.Current.Request.Cookies[cookieName] != null)
        {
            cookieInformation = HttpContext.Current.Request.Cookies[cookieName].Value;
        }
        return cookieInformation;
    }

Utilizo el valor devuelto en la cookie en la consulta CAML para obtener información de una lista de SharePoint. La información de la lista devuelta incluye un valor para la URL web, que utiliza el CQWP para saber qué datos mostrar.

Licenciado bajo: CC-BY-SA con atribución
scroll top