Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ (01/17/08): Αυτήν την είσοδο blog μιλά για περισσότερες υπερ-σύνδεση XSL καλοσύνη: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.
Επισκόπηση και στόχος: Είχα δημιουργήσει ένα απλό ραβδόγραμμα για να χρησιμεύσει ως συστατικό σε έναν πίνακα εργαλείων. Θα σώσει τις λεπτομέρειες σχετικά με την οικοδόμηση διαγράμματα για άλλη θέση, αλλά εγώ δεν εφηύρε την τεχνική (ούτε το αγγλικό ερωτηματικό, για εκείνο το θέμα). Αποδείχθηκε υπήρχε ένα bug στο γράφημα, και ενώ έχω σταθερό που, Πήρα την ευκαιρία να μετατρέψει ορισμένες ετικέτες σε υπερ-συνδέσεις που επισήμανε στο η υποκείμενη λίστα πίσω από το γράφημα. Για παράδειγμα, υπάρχει μια ετικέτα με αξία "Αναμονή". Ήθελα να γυρίσω την ετικέτα σε μια υπερ-σύνδεση, έτσι ώστε ο χρήστης θα μπορούσε να κάντε κλικ σε αυτό και να εισχωρήσετε τις συγκεκριμένες καταχωρήσεις στη λίστα των οποίων η τιμή κατάσταση είναι "Αναμονή".
Τα βήματα:
- Χρήση οπτικό στούντιο για SharePoint-aware intellisense.
- Αντιγράψτε το DVWP του XSLT στο οπτικό στούντιο (Δημιουργήστε ένα κενό έργο, προσθέσετε ένα αρχείο XSL για το έργο).
- Αντιγράψτε το σύνδεσμο που θέλετε να χρησιμοποιήσετε στο Πρόχειρο.
- Επικολλήστε τη σωστή θέση σε αμέσως την XSL.
- Νεοφώτιστων διαχωριστές επιχείρημα URL στη συμβολοσειρά ερώτημα από»&" σε"&"
- URL-encode μεμονωμένα επιχειρήματα.
- Τυλίξτε ότι μέσα ένα <a href…> </ένα>
Παράδειγμα:
Έχω ένα URL:
http://[διακομιστή]/[τοποθεσία]/Lists/Open Positions/AllItems.aspx?Προβολή ={84EEA2F5-121Β-40B7-946F-0FA704A1DAA1}&FilterField1 = στρατολογών&FilterValue1 = λαβή
Μπορώ να μετατρέψω σε:
<ένα href="Lists/Open Positions/AllItems.aspx?Προβολή = % 7b84EEA2F5-121β-40B7-946F-
0FA704A1DAA1 %7 d&FilterField1 = στρατολογών&FilterValue1 = λαβή"> Κρατήστε: </ένα>
Εγώ με το χέρι έχουν μετατραπεί το πρώτο επιχείρημα από:
{84EEA2F5-121Β-40B7-946F-0FA704A1DAA1}
να:
%7b84EEA2F5-121β-40B7-946F-0FA704A1DAA1 %7 d
(Σε αυτό, το αγκίστρου ανοίγματος µεταµορφώνεται σε % 7β και το κλείσιμο στήριγμα μετασχηματισμών σε %7 d)
Το δεύτερο και τρίτο όρισμα’ παράμετροι ("FilterField1 =Στρατολογών" και "FilterValue1 =Κρατήστε" αντίστοιχα) δεν χρειάζεται να είναι url κωδικοποιημένα επειδή δεν περιέχουν χαρακτήρες ανασφαλείς.
Σημειώσεις:
Αυτή η τεχνική θα πρέπει γενικά να λειτουργεί οπουδήποτε θέλετε να ενσωματώσετε μια υπερ-σύνδεση σε XSLT όπου η υπερ-σύνδεση περιλαμβάνει παραμέτρους στο URL όπως:
http://[διακομιστή]/[τοποθεσία]/Lists/Open Positions/AllItems.aspx?Προβολή ={84EEA2F5-121Β-40B7-946F-0FA704A1DAA1}&FilterField1 = στρατολογών&FilterValue1 = λαβή
Πήρα τη διεύθυνση URL, η ίδια με την πρόσβαση την προσαρμοσμένη λίστα και Φιλτράρισμα με μη αυτόματο τρόπο στη στήλη "κατάσταση" (με ετικέτα "στρατολογών" πάνω από).