Γρήγορη και εύκολη: Ενσωματώσετε μια υπερ-σύνδεση στο τμήμα web προβολής δεδομένων XSLT

Η ΕΝΗΜΕΡΩΜΈΝΗ ΈΚΔΟΣΗ (01/17/08): Αυτήν την είσοδο blog μιλά για περισσότερες υπερ-σύνδεση XSL καλοσύνη: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Επισκόπηση και στόχος: Είχα δημιουργήσει ένα απλό ραβδόγραμμα για να χρησιμεύσει ως συστατικό σε έναν πίνακα εργαλείων. Θα σώσει τις λεπτομέρειες σχετικά με την οικοδόμηση διαγράμματα για άλλη θέση, αλλά εγώ δεν εφηύρε την τεχνική (ούτε το αγγλικό ερωτηματικό, για εκείνο το θέμα). Αποδείχθηκε υπήρχε ένα bug στο γράφημα, και ενώ έχω σταθερό που, Πήρα την ευκαιρία να μετατρέψει ορισμένες ετικέτες σε υπερ-συνδέσεις που επισήμανε στο η υποκείμενη λίστα πίσω από το γράφημα. Για παράδειγμα, υπάρχει μια ετικέτα με αξία "Αναμονή". Ήθελα να γυρίσω την ετικέτα σε μια υπερ-σύνδεση, έτσι ώστε ο χρήστης θα μπορούσε να κάντε κλικ σε αυτό και να εισχωρήσετε τις συγκεκριμένες καταχωρήσεις στη λίστα των οποίων η τιμή κατάσταση είναι "Αναμονή".

Τα βήματα:

  1. Χρήση οπτικό στούντιο για SharePoint-aware intellisense.
  2. Αντιγράψτε το DVWP του XSLT στο οπτικό στούντιο (Δημιουργήστε ένα κενό έργο, προσθέσετε ένα αρχείο XSL για το έργο).
  3. Αντιγράψτε το σύνδεσμο που θέλετε να χρησιμοποιήσετε στο Πρόχειρο.
  4. Επικολλήστε τη σωστή θέση σε αμέσως την XSL.
  5. Νεοφώτιστων διαχωριστές επιχείρημα URL στη συμβολοσειρά ερώτημα από»&" σε"&"
  6. URL-encode μεμονωμένα επιχειρήματα.
  7. Τυλίξτε ότι μέσα ένα <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&amp;FilterField1 = στρατολογών&amp;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, η ίδια με την πρόσβαση την προσαρμοσμένη λίστα και Φιλτράρισμα με μη αυτόματο τρόπο στη στήλη "κατάσταση" (με ετικέτα "στρατολογών" πάνω από).

6 thoughts on «Γρήγορη και εύκολη: Ενσωματώσετε μια υπερ-σύνδεση στο τμήμα web προβολής δεδομένων XSLT

  1. Paul Galvin

    Cristina, ότι 84EE.. είναι ένα GUID που προσδιορίζει με μοναδικό τρόπο τη λίστα εσωτερικά. Μπορείτε να το πάρετε από τραβώντας την προβολή στο πρόγραμμα περιήγησης και να επιθεωρούν το URL του προγράμματος περιήγησης.

  2. Cristina Perez Otaiza

    όπου ή πώς δημιουργήσει αυτόν τον κώδικα «84EEA2F5-121β-40B7-946F-0FA704A1DAA1′

    Θα μπορούσε να είναι δυνατόν να γίνει αυτό …&FilterField1 = στρατολογών κέντρο &FilterValue1 = λαβή CE / ASM?

    Ή
    Χρειάζεται να Κατάργηση κενών διαστημάτων μεταξύ τους?

  3. Eric Άντερσον
    Έχετε οποιεσδήποτε προτάσεις για την κατάσταση όπου θέλετε να περάσει τα δεδομένα από μια λίστα του SharePoint ως η αξία FilterValue1, και όπου η τιμή στη στήλη μπορεί να περιέχει το εμπορικό "και"? (Έχω προσπάθησα πολλοί τρόποι για να κωδικοποιήσουν/διαφυγής την αξία, αλλά δεν έχουν πολλή τύχη στην διοχέτευση σωστά.)
  4. Κώστας Tsaklas
    Είδα το παράδειγμα κατά την εφαρμογή του Help Desk στο το «fab 40'. Το πρόβλημα δεν ξέρω πώς έχουν δημιουργηθεί και thats γιατί θα χαρώ πολύ να τα βήματα για το πώς να το κάνουμε
  5. Paul Galvin
    Εγώ δεν εφηύρε το, αλλά είναι παράξενο το πόσο δύσκολο είναι να βρείτε.
    Ήρθα σε ένα λειτουργικό παράδειγμα αυτού πιστεύω ότι από ένα από το "fab 40" πρότυπα.
    Το τμήμα web προβολής δεδομένων με XSLT που παράγει ένα γράφημα. Εγώ σίγουρα το σχέδιο να κάνει μια θέση σε αυτό.
  6. Κώστας Tsaklas
    Θα χαρώ πολύ να το post σχετικά με τη δημιουργία ενός γραφήματος. Έχω ψάξει για πληροφορίες στο πώς να δημιουργήσει γραφήματα βάσει καταλόγων (π.χ. ανοιχτό, κλειστά θέματα, ποσοστά κλπ.) και λοξοτομώ το εύρημα οποιοδήποτε. Ευχαριστώ

Αφήνω μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. τα απαιτούμενα πεδία είναι επισημασμένα *