Constantemente utilizamos la URL para pasar parámetros cuando estamos trabajando con SharePoint. De hecho el propio SharePoint es el primero que lo hace y el caso más fácil de ver, es cuando accedemos a un elemento de lista, ya sea en forma de edición o de presentación:
http://misitoweb/Lists/Alertas/EditForm.aspx?ID=39&Source=http%3A%2F%2Fmisitioweb%2FLists%2FAlertas%2FAllItems%2Easpx
En este ejemplo, podemos ver que tenemos dos parámetros ID y Source, que sirven para identificar el elemento y a dónde nos va a llevar una vez aceptemos o cancelemos la edición del elemento.
Normalmente para obtener y tratarlo, utilizaríamos JavaScript y/o JQuery, y trataríamos la URL.
La idea que propongo en esta entrada es encapsular una función que ya nos lo obtenga y que incluyéndola en un archivo .js, nos permitiría referenciarla en la página maestra y utilizar en nuestro portal.
El código sería sencillo:
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
Esto nos permitiría recuperar dicho parámetro haciendo algo tan sencillo como:
var elemento = getUrlVars()["ID"];
var destino = getUrlVars()["Source"];
Y poder trabajar con ellas. Como se ve, es algo fácil y sencillo.
La idea la obtuve de:
http://papermashup.com/read-url-get-variables-withjavascript/
Mostrando entradas con la etiqueta Dinamica. Mostrar todas las entradas
Mostrando entradas con la etiqueta Dinamica. Mostrar todas las entradas
sábado, 25 de abril de 2015
Obtener parámetros de la URL
Etiquetas:
2007,
2013,
Biblioteca,
Dinamica,
Enlace,
Filtro,
JavaScript,
JQuery,
Lista,
MOSS,
Sharepoint,
Sharepoint 2010,
Sharepoint 2013,
Sharepoint Designer,
Vista,
Vista de Datos,
XSL
sábado, 23 de noviembre de 2013
Vista dinámica en Sharepoint
Normalmente en Sharepoint, las vistas que se hacen sobre las listas y/o bibliotecas, suelen ser estáticas. Es decir, se muestran las entradas de un determinado campo que cumplan una condición. Por ejemplo, mostrar sólo los elementos que tienen un campo con un determinado valor.
El problema que nos presentaba esto, era que no podíamos (por defecto y sin programar) crear un valor dinámico que nos sirviera para filtrar. Pero con un poco tiempo y gracias a los campos [Hoy] ([Today]) y [Yo] ([Me]), podemos crear algún caso dinámico que puede solucionarnos algún que otro problema.
Este era mi problema, durante un proyecto se me pidió que la vista por defecto sólo mostrara los elementos del año actual, sin tener que andar año tras año, modificando la vista.
En mi caso, había un campo llamado Year, en el que el usuario introducía el año de la entrada, ya que mucha de la información subida, era de años anteriores al actual, con lo cual los campos Created y Modified, no me servían.
Con lo que los usuarios sólo tenían que indicar a que año pertenecía el elemento subido. Y luego por medio de dos campos calculados obtenía dos campos de tipo fecha que contenían el 1 de Enero de dicho año (Valid Since) y el 31 de Diciembre del mismo año (Valid Until).
Esto se puede hacer por medio de las fórmulas:
=DATE([Year];1;1)
=DATE([Year];12;31)
Es importante acordarnos, que son columna calculadas de tipo fecha.
Y por último sólo nos quedaría crear la vista filtrada en SharePoint:
Esto nos permitiría ver de manera dinámica los elementos validos para el año actual, sin tener que crear una vista para cada año que comienza.
Otra vista que también nos pidieron fue una vista de los elementos a caducar en los próximos 30 días para ello, utilizamos la columna Valid Until de nuevo y creamos una vista con las siguiente condición:
Esto me evito, tener que hacer vistas donde las condiciones fueran desde el 1/1/2013 al 31/12/2013 y al año siguiente tener que crear otra vista con 2014. Ya que sólo les interesaba ver los elementos del año en curso.
Referencia útil:
http://office.microsoft.com/en-us/windows-sharepoint-services-help/examples-of-common-formulas-HA001160947.aspx
El problema que nos presentaba esto, era que no podíamos (por defecto y sin programar) crear un valor dinámico que nos sirviera para filtrar. Pero con un poco tiempo y gracias a los campos [Hoy] ([Today]) y [Yo] ([Me]), podemos crear algún caso dinámico que puede solucionarnos algún que otro problema.
Este era mi problema, durante un proyecto se me pidió que la vista por defecto sólo mostrara los elementos del año actual, sin tener que andar año tras año, modificando la vista.
En mi caso, había un campo llamado Year, en el que el usuario introducía el año de la entrada, ya que mucha de la información subida, era de años anteriores al actual, con lo cual los campos Created y Modified, no me servían.
Con lo que los usuarios sólo tenían que indicar a que año pertenecía el elemento subido. Y luego por medio de dos campos calculados obtenía dos campos de tipo fecha que contenían el 1 de Enero de dicho año (Valid Since) y el 31 de Diciembre del mismo año (Valid Until).
Esto se puede hacer por medio de las fórmulas:
=DATE([Year];1;1)
=DATE([Year];12;31)
Es importante acordarnos, que son columna calculadas de tipo fecha.
Y por último sólo nos quedaría crear la vista filtrada en SharePoint:
Esto nos permitiría ver de manera dinámica los elementos validos para el año actual, sin tener que crear una vista para cada año que comienza.
Otra vista que también nos pidieron fue una vista de los elementos a caducar en los próximos 30 días para ello, utilizamos la columna Valid Until de nuevo y creamos una vista con las siguiente condición:
Esto me evito, tener que hacer vistas donde las condiciones fueran desde el 1/1/2013 al 31/12/2013 y al año siguiente tener que crear otra vista con 2014. Ya que sólo les interesaba ver los elementos del año en curso.
Referencia útil:
http://office.microsoft.com/en-us/windows-sharepoint-services-help/examples-of-common-formulas-HA001160947.aspx
Suscribirse a:
Entradas (Atom)

