AKTUALIZOVAT (01/17/08): Tato položka blogu hovoří o další hypertextový odkaz XSL dobrota: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Přehled a cíle: Měl jsem vytvořil jednoduchý pruhový graf slouží jako součást řídicího panelu. Nechám údaje o budování grafy pro další post, ale jsem nevynalezl tuto techniku (ani otazník, pro tuto záležitost). To se ukázalo, že je chyba v grafu, a zatímco jsem opravil, Vzal jsem si příležitost převést některé popisky na hypertextové odkazy, které ukázal na nadřízeném seznamu za graf. Například, Zde je štítek s hodnotou "Hold". Chtěl jsem se převést na hypertextový odkaz label tak, aby uživatel mohl na něj klikněte a přejít na konkrétní položky v seznamu, jehož hodnota stavu je "Držet".
Kroky:
- Použití aplikace visual studio pro SharePoint podporující intellisense.
- Kopírovat DVWP XSLT do visual studio (vytvořit prázdný projekt, do projektu přidat soubor XSL).
- Kopírovat odkaz, který chcete použít do schránky..
- Vložte ji do správného umístění v XSL.
- Převod URL argument oddělovače v řetězci dotazu od"&" do"&"
- URL-encode jednotlivé argumenty.
- Zabalte že uvnitř <href…> </a>
Příklad:
Mám adresu URL:
http://[Server]/[Web]/Lists/Open Positions/AllItems.aspx?Pohled ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Verbíř&FilterValue1 = držet
Převést do:
<a HREF="Lists/Open Positions/AllItems.aspx?Pohled = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&FilterField1 = Verbíř&FilterValue1 = držet"> Držet: </a>
Přeměnil jsem ručně první argument od:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
do:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d
(V tomto, transformace závorku na % 7b a uzavírací složená závorka transformace na %7 d)
Druhý a třetí argument’ parametry ("FilterField1 =Verbíř" a "FilterValue1 =Držet" respektive) není třeba být kódování url, protože neobsahují žádné nebezpečné znaky.
Poznámky:
Tato technika by měla obecně pracovat kdekoliv chcete vložit hypertextový odkaz v XSLT kde hypertextový odkaz obsahuje parametry adresy URL, jako:
http://[Server]/[Web]/Lists/Open Positions/AllItems.aspx?Pohled ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Verbíř&FilterValue1 = držet
Mám vlastní seznam a ručně filtrování sloupce stav adresy URL samotné (s popisem "Verbíř" nad).