UPDATE (01/17/08): This blog entry talks about more hyperlink XSL goodness: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Overview et obiectiva: I had created a simple bar chart to serve as component on a dashboard. I’ll save the details on building charts for another post, but I did not invent that technique (nor the question mark, for that matter). It turned out there was a bug in the chart and while I fixed that, I took the opportunity to convert some labels into hyperlinks that pointed at the underlying list behind the graph. Verbigratia, there is a label with value "Hold". I wanted to turn the label into a hyperlink so that the user could click on it and drill down to the specific entries in the list whose status value is "Hold".
Steps:
- Use visual studio for sharepoint-aware intellisense.
- Copy the DVWP’s XSLT into visual studio (create a blank project, add an XSL file to the project).
- Copy the link you want to use into the clipboard.
- Paste it into the right location in the XSL.
- Convert URL argument separators on the query string from "&" to "&"
- Url-encode individual arguments.
- Wrap that inside an <a href…> </a>
Verbigratia:
I have an URL:
http://[server]/[site]/Lists/Open Positions/AllItems.aspx?View={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1=Recruiter&FilterValue1=Hold
I convert it into:
<a href="Lists/Open Positions/AllItems.aspx?View={84EEA2F5-121B-40B7-946F-
0FA704A1DAA1}&FilterField1=Recruiter&FilterValue1=Hold"> Hold: </a>
I have manually transformed the first argument from:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
ad:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
(In this, the open brace transforms to { and the closing brace transforms to })
The second and third arguments’ parameters ("FilterField1=Recruiter" and "FilterValue1=Hold" respectively) do not need to be url-encoded because they do not contain any unsafe characters.
Notes:
This technique should generally work anywhere you want to embed a hyperlink in XSLT where the hyperlink includes parameters on the URL such as:
http://[server]/[site]/Lists/Open Positions/AllItems.aspx?View={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1=Recruiter&FilterValue1=Hold
I got the URL itself by accessing the custom list and manually filtering on the status column (labeled "Recruiter" above).
Cristina, that 84EE.. is a GUID that uniquely identifies the list internally. You can get it by pulling up the view in your browser and inspecting the URL of your browser.
where or how do generate this code ’84EEA2F5-121B-40B7-946F-0FA704A1DAA1′
Could be possible to do this …&FilterField1=Recruiter Center &FilterValue1=Hold CE / ASM?
Aut
Do i need to remove the spaces between them?