ACTUALITZACIÓ (01/17/08): Aquesta entrada del bloc parla de hipervincle més bondat XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Descripció i objectiu: Jo havia creat un gràfic de barres senzill per servir com a component en un quadre de comandament. Estalviaré els detalls en la construcció de gràfics per a un altre lloc, però jo no la va inventar aquesta tècnica (ni l'interrogant, per al cas). Resultava que hi havia un error en el gràfic i mentre em fixo que, Vaig prendre l'oportunitat de convertir algunes etiquetes en hipervincles que apuntava a la llista subjacent darrere el gràfic. Per exemple, hi ha una etiqueta amb valor "Mantingut". Volia convertir l'etiqueta en un enllaç per a que l'usuari podria fer-hi clic i perfori avall les entrades específiques en la llista el valor de l'estat és "Mantenir".
Passos:
- Estudi visual d'ús per a intellisense conscient del SharePoint.
- Copiar XSLT del DVWP en estudi visual (crear un projecte en blanc, Afegeix un fitxer XSL al projecte).
- Copia l'enllaç que voleu fer servir al porta-retalls.
- Enganxar-lo en la localització correcta a l'XSL.
- Convertir separadors de discussió d'URL en la cadena de consulta de"&" a"&lificador;"
- URL codifica arguments individuals.
- Embolicar que dins una <un href…> </un>
Exemple:
Vaig tenir un URL:
http://[servidor]/[lloc]/Lists/Open Positions/AllItems.aspx?Veure ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = reclutat&FilterValue1 = mantenir
Em vaig convertir-lo en:
<un href="Lists/Open Positions/AllItems.aspx?Veure = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&lificador;FilterField1 = reclutat&lificador;FilterValue1 = mantenir"> Agafador: </un>
He transformat manualment el primer argument de:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
per:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d
(En aquest, la cotilla obert es transforma a % 7b i el tancament clau es transforma a %7 d)
Els arguments de segon i tercers’ paràmetres ("FilterField1 =Reclutat" i "FilterValue1 =Agafador" respectivament) no cal ser codificats en url perquè no contenen cap caràcters no segurs.
Notes:
Aquesta tècnica generalment hauria de funcionar en qualsevol lloc que voleu incrustar un hipervincle en XSLT on l'hipervincle inclou paràmetres en l'URL com ara:
http://[servidor]/[lloc]/Lists/Open Positions/AllItems.aspx?Veure ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = reclutat&FilterValue1 = mantenir
Tinc l'URL per accedir a la llista personalitzada i filtratge manualment a la columna de l'estat (amb l'etiqueta "reclutat" per sobre de).