ನವೀಕರಿಸಲು (01/17/08): ಹೆಚ್ಚು ಹೈಪರ್ಲಿಂಕ್ XSL ಒಳ್ಳೆಯತನದ ಬಗ್ಗೆ ಈ ಬ್ಲಾಗ್ ಮಾತುಕತೆ: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
ಅವಲೋಕನ ಮತ್ತು ಉದ್ದೇಶ: 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, ಆದರೆ ನಾನು ಆ ತಂತ್ರವನ್ನು ಸಂಶೋಧಿಸಲಿಲ್ಲ (ಅಥವಾ ಪ್ರಶ್ನೆ ಗುರುತು, ಆ ಮ್ಯಾಟರ್). 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. ಉದಾಹರಣೆಗೆ, 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".
ಹಂತಗಳನ್ನು:
- ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಬಳಸಿ ಶೇರ್ಪಾಯಿಂಟ್-ಅವೇರ್ ಇಂಟೆಲಿಸೆನ್ಸ್.
- ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಒಳಗೆ DVWP ತಂದೆಯ XSLT ನಕಲಿಸಿ (ಒಂದು ಖಾಲಿ ಯೋಜನೆಯನ್ನು ರಚಿಸಿ, ಯೋಜನೆಗೆ ಒಂದು XSL ಕಡತ ಸೇರಿಸಿ).
- ನೀವು ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ ಆಗಿ ಬಳಸಲು ಬಯಸುವ ಲಿಂಕ್ ಅನ್ನು ನಕಲಿಸಿ.
- XSL ಸರಿಯಾದ ಸ್ಥಳ ಅಂಟಿಸಿ.
- Convert URL argument separators on the query string from "&" to "&ಆಂಪಿಯರ್;"
- ಮಾಲಿಕ ವಾದಗಳು url-ಎನ್ಕೋಡ್.
- ಬಿಗಿಯಾದ ಒಂದು ಒಳಗೆ <ಒಂದು href…> </ಒಂದು>
ಉದಾಹರಣೆ:
ನಾನು ಒಂದು URL ಅನ್ನು ಹೊಂದಿದೆ:
HTTP://[ಪರಿಚಾರಕ]/[ಸೈಟ್]/ಪಟ್ಟಿಗಳು / ಓಪನ್% 20Positions/AllItems.aspx?= ವೀಕ್ಷಿಸಿ{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = ಹೊಸದಾಗಿ&FilterValue1 = ಹೋಲ್ಡ್
ನಾನು ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತವೆ:
<ಒಂದು href="ಪಟ್ಟಿಗಳು / ಓಪನ್% 20Positions/AllItems.aspx?7b84EEA2F5-121B-40B7-946F =% ವೀಕ್ಷಿಸಿ-
0FA704A1DAA1}&ಆಂಪಿಯರ್;FilterField1 = ಹೊಸದಾಗಿ&ಆಂಪಿಯರ್;FilterValue1 = ಹೋಲ್ಡ್"> ಹಿಡಿ: </ಒಂದು>
ನಾನು ಕೈಯಿಂದ ಮೊದಲ ವಾದವನ್ನು ಬದಲಾವಣೆಯಾಗುವುದಿಲ್ಲ:
{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
ಗೆ:
%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1}
(ಈ, ತೆರೆದ ಬ್ರೇಸ್% 7B ಗೆ ರೂಪಾಂತರ ಮತ್ತು ಮುಕ್ತಾಯದ ಕಟ್ಟುಪಟ್ಟಿಯ% 7D ಗೆ ರೂಪಾಂತರ)
ಎರಡನೇ ಮತ್ತು ಮೂರನೇ ವಾದಗಳು’ ನಿಯತಾಂಕಗಳನ್ನು ("FilterField1=ಹೊಸದಾಗಿ ಸೇರಿಸಿಕೊಳ್ಳುವವನು" and "FilterValue1=ಹಿಡಿ" ಅನುಕ್ರಮವಾಗಿ) ಅವರು ಯಾವುದೇ ಅಸುರಕ್ಷಿತ ಪಾತ್ರಗಳು ಹೊಂದಿರದೆ ಇರುವುದರಿಂದ URL-ಸಂಕೇತಿಸಲ್ಪಡುತ್ತವೆ ಅಗತ್ಯವಿಲ್ಲ.
ಟಿಪ್ಪಣಿಗಳು:
ಈ ವಿಧಾನವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ನಗರದಲ್ಲಿ ನೀವು ಹೈಪರ್ಲಿಂಕ್ ನಂತಹ URL ಮೇಲೆ ನಿಯತಾಂಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ ಅಲ್ಲಿ XSLT ಒಂದು ಹೈಪರ್ಲಿಂಕ್ ಎಂಬೆಡ್ ಬಯಸುವ ಕೆಲಸ ಮಾಡಬೇಕು:
HTTP://[ಪರಿಚಾರಕ]/[ಸೈಟ್]/ಪಟ್ಟಿಗಳು / ಓಪನ್% 20Positions/AllItems.aspx?= ವೀಕ್ಷಿಸಿ{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = ಹೊಸದಾಗಿ&FilterValue1 = ಹೋಲ್ಡ್
ನಾನು ಕಸ್ಟಮ್ ಪಟ್ಟಿಯನ್ನು ಪ್ರವೇಶಿಸುವ ಮೂಲಕ URL ಅನ್ನು ಸ್ವತಃ ಸಿಕ್ಕಿತು ಮತ್ತು ಕೈಯಾರೆ ಸ್ಥಿತಿ ಲಂಬಸಾಲಿನಲ್ಲಿ ಫಿಲ್ಟರಿಂಗ್ (labeled "Recruiter" ಮೇಲೆ).