Επισκόπηση και στόχος
Από το κουτί, MOSS’ Τμήμα Web ερωτήματος περιεχομένου (CQWP) εμφανίζει τα αποτελέσματα σε μορφή λίστας, παρόμοια με τα αποτελέσματα αναζήτησης. Είναι επίσης δυνατό να εμφανίσετε τα αποτελέσματα σε μια μορφή πλέγματος (ήτοι. Μορφή πίνακα HTML). Πλέγμα μορφές είναι καλύτερα σε ορισμένες περιπτώσεις. Περιγράφει τον τρόπο για να επιτευχθεί αυτό το αποτέλεσμα σε αυτό το άρθρο.
Επιχειρηματικό σενάριο
Έχω εργαστεί με έναν πελάτη για ένα ξεδίπλωμα ΒΡΎΑ ολόκληρη την επιχείρηση. Έχουμε σχεδιάσει το τους ταξονομία όπως ότι έργα είναι πρώτης κατηγορίας πολίτες στην ιεραρχία και έχουν τη δική τους τοποθεσία ανώτατου επιπέδου. Διαχειριστές έργου διατηρεί singleton λίστα πληροφοριών σύνοψης έργου, όπως με τίτλο, προϋπολογισμού, αναμενόμενη ημερομηνία ολοκλήρωσης, υπόλοιπα κονδύλια και άλλα πεδία σύνοψης τύπου. Από τον "Σίνγκλετον" Θέλω να πω μια προσαρμοσμένη λίστα SharePoint εγγυημένη για να περιέχουν μόνο ένα στοιχείο. Απλουστευτικά, μοιάζει με αυτό:
Η τεχνική προσέγγιση είναι πολύ το ίδιο όπως περιγράφεται Εδώ (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). Το CQWP χρησιμοποιεί ένας μετασχηματισμός XSL να εκπέμπουν HTML για το πρόγραμμα περιήγησης για την απόδοση.
Οραματίζομαι πάντα το αποτέλεσμα Βουτήξτε το XSL επειδή XSL είναι ένας εφιάλτης. Εδώ είναι το μου το επιθυμητό αποτέλεσμα:
HTML όπως αυτό δημιουργεί αυτό το αποτέλεσμα:
<HTML> <οργανισμός> <κέντρο> <Πίνακας σύνορα= 1> <!-- Ετικέτες--> <TR χρώμα φόντου= μπλε> <TD><γραμματοσειρά χρώμα= λευκό><β>Όνομα έργου</β></γραμματοσειρά></TD> <TD Στοίχιση= δεξιά><γραμματοσειρά χρώμα= λευκό><β>Πλήρης ημερομηνία</β></γραμματοσειρά></TD> <TD Στοίχιση= δεξιά><γραμματοσειρά χρώμα= λευκό><β>Προϋπολογισμού</β></γραμματοσειρά></TD> <TD Στοίχιση= δεξιά><γραμματοσειρά χρώμα= λευκό><β>Πραγματική δαπάνη</β></γραμματοσειρά></TD> <TD><γραμματοσειρά χρώμα= λευκό><β>Συνολική κατάσταση</β></γραμματοσειρά></TD> </TR> <TR> <TD>Αίθουσα πληροφορικής εκ νέου το σύρμα.</TD> <TD Στοίχιση= δεξιά>02/01/08</TD> <TD Στοίχιση= δεξιά>22,500.00</TD> <TD Στοίχιση= δεξιά>19,000.00</TD> <TD>Σε εξέλιξη</TD> </TR> <TR> <TD>Παροχή διακομιστές για αναβάθμιση SQL</TD> <TD Στοίχιση= δεξιά>04/01/08</TD> <TD Στοίχιση= δεξιά>7,500.00</TD> <TD Στοίχιση= δεξιά>0.00</TD> <TD>Προγραμματιστεί</TD> </TR> </Πίνακας> </κέντρο> </οργανισμός> </HTML> |
Προσέγγιση
Ακολουθήστε τα παρακάτω βήματα για να δημιουργήσετε το πλέγμα:
- Προσδιορίζει τα συστατικά στοιχεία του πλέγματος (σειρές/στήλες).
- Καθορίσει και να δημιουργήσετε στήλες τοποθεσίας αναγκαία.
- Δημιουργία υποδικτυακοί τόποι για τα έργα και τις λίστες singleton.
- Προσθέσετε το CQWP σε μια σελίδα web και να ρυθμίσετε τις παραμέτρους για την αναζήτηση λιστών.
- Τροποποίηση της CQWP XML για να συγκεντρώσει τις πρόσθετες στήλες.
- Τροποποιήσετε το XSL για τη δημιουργία ενός πίνακα.
Πάω να επικεντρωθεί σε αριθμό έξι. Αριθμοί μία μέσα από τέσσερις είναι απλή και κάτι που κάθε χρήστη της CQWP έχει ήδη γίνει. Αριθμός πέντε έχει καλά τεκμηριωμένο από άλλους συμπεριλαμβανομένου αυτό εξαντλητικό άρθρο εμφόρτου οθόνη-shot από MSDN Εδώ (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) και του Σολομώντα Heather blog Εδώ (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).
Καρύδια και τα μπουλόνια
Αρχίζουν και να εφαρμόσει τα βήματα ένα έως πέντε σύμφωνα με την τεκμηρίωση του MSDN και του Σολομώντα Heather άρθρο.
Σε αυτό το σημείο, έχετε προσθέσει στη σελίδα σας CQWP και να έχετε σας <CommonViewFields> ρυθμιστεί ανάλογα με τις ανάγκες.
Ακολουθώντας τα συνήθη βήματα, Έχω αυτά τα ενδιάμεσα αποτελέσματα:
1. Δημιουργήστε έναν τύπο περιεχομένου, μια templatized προσαρμοσμένη λίστα για αυτόν τον τύπο περιεχομένου και δύο τοποθεσίες. Εδώ είναι ο τύπος περιεχομένου:
Εδώ είναι η δομή του site:
2. Προσθέστε τα CQWP μετά τη δημιουργία μου έργο δευτερεύουσες τοποθεσίες και οι μονήρεις συνοπτικοί κατάλογοι έργου:
3. Προσθέστε όλες τις πρόσθετες πληροφορίες που θέλω μέσω της <CommonViewFields>:
<ιδιοκτησίας Όνομα="CommonViewFields" Τύπος="συμβολοσειρά">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</ιδιοκτησίας>
Σημειώστε ότι έπρεπε να κρατήσει όλα τα πεδία ιδιοτήτων σε μία γραμμή, ή αυτό δεν θα μπορούσε να λειτουργήσει (CQWP θα μου πείτε ότι το ερώτημα επιστρέφει κανένα στοιχείο δεν).
4. Σε αυτό το σημείο, είμαστε έτοιμοι να προχωρήσουμε πέρα από το άρθρο του MSDN και κτυπήματος σε άρθρο της Heather του Σολομώντα. Ακολουθήστε τα βήματα που αρχίζουν κοντά στο βήμα #5 για να δημιουργήσετε μια προσαρμοσμένη / unghosted έκδοση του ItemStyle.xsl. Ακολουθώ τις συμβουλές της ερείκης, επάνω μέσω βήμα 11 και να πάρετε αυτά τα ενδιάμεσα αποτελέσματα:
4.1: Όνομα μου πρότυπο XSL ως εξής:
<XSL:πρότυπο όνομα = "πλέγμα" ταιριάζει = "γραμμή[@Style = "Πλέγμα"]" λειτουργία = "itemstyle">
Μπορώ να τροποποιήσω την πρότεινε επίσης ελαφρώς <XSL:για-κάθε …> με την προσθήκη ενός <br /> ετικέτα για να παρέχουν μια λίστα με τα καθαρότερα:
<XSL:για-κάθε Επιλέξτε="@*"> P:<XSL:αξία των Επιλέξτε="Όνομα()" /><br/> </XSL:για-κάθε>
4.2: Μπορώ να τροποποιήσω το τμήμα web, μεταβείτε στην εμφάνιση και επιλέξτε μου πλέγμα"" στυλ:
Εφαρμόσετε την αλλαγή και ιδού το αποτέλεσμα:
Μπορούμε να δούμε από τα παραπάνω ότι τα πεδία θέλουμε (Όνομα έργου, δαπάνη, κατάσταση, κλπ) είναι διαθέσιμα για να εκπέμπουμε το HTML. Δεν είναι μόνο ότι, αλλά μπορούμε να δούμε τα ονόματα με τα οποία εμείς πρέπει να παραπέμπει σε αυτές τις στήλες στο αμέσως την XSL. Για παράδειγμα, αναφοράς κατάστασης του έργου ως "Project_x005F_x0020_Name".
Σε αυτό το σημείο, θα αναχωρήσουμε από blog ερείκης και από τους ώμους των γιγάντων αυτών, Θα προσθέσω δικό μου μικρό κομμάτι.
ContentQueryMain.xsl
ΣΗΜΕΊΩΣΗ: Όταν κάνετε αλλαγές σε τόσο ContentQueryMain.xsl όσο και ItemStyle.xsl, θα πρέπει να ελέγξετε αυτά τα αρχεία πίσω στο προτού να δείτε το αποτέλεσμα των αλλαγών σας.
Για σκοπούς λήψης πλέγμα, ΒΡΎΑ χρησιμοποιεί δύο διαφορετικά αρχεία XSL για να παράγει τα αποτελέσματα που βλέπουμε από ένα CQWP. Για τη δημιουργία το προηγούμενο κομμάτι της παραγωγής, τροποποιημένη ItemStyle.xsl. MOSS στην πραγματικότητα χρησιμοποιεί ένα άλλο αρχείο XSL, ContentQueryMain.xsl να σε συνδυασμό με ItemStyle.xsl για τη δημιουργία του το HTML. Όπως υποδηλώνει το όνομά, ContentQueryMain.xsl είναι η κύρια"" XSL που ελέγχει τη συνολική ροή της μετάφρασης. Την αναπροσεγγίζει μέσω του όλα τα στοιχεία που βρέθηκαν και τις περνάει μία προς μία για πρότυπα σε ItemStyle.xsl. Θα τροποποιήσουμε ItemStyle.xsl να δημιουργήσει το άνοιγμα <Πίνακας> ετικέτα πριν εκπέμπουν στην πρώτη γραμμή των δεδομένων και το κλείσιμο <Πίνακας> ετικέτα μετά την τελευταία γραμμή που εκπέμπουν. Για να επιτευχθεί αυτό, ContentQueryMain.xsl έχει τροποποιηθεί για να περάσει δύο παραμέτρους μας δίκτυο"" πρότυπο ItemStyle.xsl, «τελευταία γραμμή" και "τρέχουσα γραμμή". ItemStyle.xsl χρησιμοποιεί αυτά να εκπέμπουν υπό όρους την αναγκαία Ετικέτες.
Χρησιμοποιώντας την τεχνική του Σολομώντα Heather, εντοπίζουμε ContentQueryMain.xsl. Βρίσκεται στο ίδιο μέρος με ItemStyle.xsl. Αυτό το πλάνο οθόνη θα πρέπει να βοηθήσει:
Πρέπει να κάνετε τις ακόλουθες αλλαγές:
- Τροποποιήσετε ένα πρότυπο xsl, "CallItemTemplate" που επικαλείται στην πραγματικότητα μας πρότυπο πλέγμα σε ItemStyle.xsl. Θα περάσουμε δύο παραμέτρους στο πλέγμα πρότυπο έτσι ώστε θα έχει τα στοιχεία που χρειάζεται για την παραγωγή υπό όρους άνοιγμα και κλείσιμο <Πίνακας> Ετικέτες.
- Τροποποιήσετε ένα άλλο κομμάτι της ContentQueryMain.xsl, που καλεί το CallItemTemplate"" να δώσετε ένα "LastRow" παράμετρος έτσι ότι LastRow μπορεί να περάσει μας πρότυπο πλέγμα.
Εντοπίστε το πρότυπο με το όνομα "OuterTemplate.CallItemTemplate" προσδιορίζονται από τη συμβολοσειρά:
<XSL:πρότυπο Όνομα="OuterTemplate.CallItemTemplate">
Αντικαταστήσει το σύνολο πρότυπο ως εξής:
<XSL:πρότυπο Όνομα="OuterTemplate.CallItemTemplate"> <XSL:Παράμ Όνομα="CurPosition" /> <!-- Προσθέστε το "LastRow" παράμετρος. Χρησιμοποιούμε μόνο όταν το στοιχείο στυλ πέρασμα σε είναι "Πλέγμα". --> <XSL:Παράμ Όνομα="LastRow" /> <XSL:Επιλέξτε> <XSL:Όταν δοκιμή="@Style = 'NewsRollUpItem'"> <XSL:εφαρμογή προτύπων Επιλέξτε="." λειτουργία="itemstyle"> <XSL:με Παράμ Όνομα="EditMode" Επιλέξτε="$cbq_iseditmode" /> </XSL:εφαρμογή προτύπων> </XSL:Όταν> <XSL:Όταν δοκιμή="@Style = 'NewsBigItem'"> <XSL:εφαρμογή προτύπων Επιλέξτε="." λειτουργία="itemstyle"> <XSL:με Παράμ Όνομα="CurPos" Επιλέξτε="$CurPosition" /> </XSL:εφαρμογή προτύπων> </XSL:Όταν> <XSL:Όταν δοκιμή="@Style = 'NewsCategoryItem'"> <XSL:εφαρμογή προτύπων Επιλέξτε="." λειτουργία="itemstyle"> <XSL:με Παράμ Όνομα="CurPos" Επιλέξτε="$CurPosition" /> </XSL:εφαρμογή προτύπων> </XSL:Όταν> <!-- Περάσει την τρέχουσα θέση και lastrow στο πρότυπο itemstyle.xsl πλέγμα. ItemStyle.xsl θα χρησιμοποιήσω που να εκπέμπει το άνοιγμα και κλείσιμο <Πίνακας> Ετικέτες. --> <XSL:Όταν δοκιμή="@Style = "Πλέγμα""> <XSL:εφαρμογή προτύπων Επιλέξτε="." λειτουργία="itemstyle"> <XSL:με Παράμ Όνομα="CurPos" Επιλέξτε="$CurPosition" /> <XSL:με Παράμ Όνομα="Το τελευταίο" Επιλέξτε="$LastRow" /> </XSL:εφαρμογή προτύπων> </XSL:Όταν> <XSL:διαφορετικά> <XSL:εφαρμογή προτύπων Επιλέξτε="." λειτουργία="itemstyle"> </XSL:εφαρμογή προτύπων> </XSL:διαφορετικά> </XSL:Επιλέξτε> </XSL:πρότυπο> |
Τα σχόλια που περιγράφουν το σκοπός των αλλαγών.
Φυσικά, το OuterTemplate.CallItemTemplate"" ίδια καλείται από ένα άλλο πρότυπο. Εντοπίστε το πρότυπο από την αναζήτηση αυτή τη συμβολοσειρά κειμένου:
<XSL:πρότυπο Όνομα="OuterTemplate.Body">
Μετακινηθείτε τις οδηγίες στο OuterTemplate.Body και την εισαγωγή της παραμέτρου LastRow ως εξής (εμφανίζεται ως ένα σχόλιο με πλάγια γράμματα):
<XSL:κλήση-πρότυπο Όνομα="OuterTemplate.CallItemTemplate"> <XSL:με Παράμ Όνομα="CurPosition" Επιλέξτε="$CurPosition" /> <!-- Εισαγάγετε την παράμετρο LastRow. --> <XSL:με Παράμ Όνομα="LastRow" Επιλέξτε="$LastRow"/> </XSL:κλήση-πρότυπο>
Μετά από όλα αυτά, έχουμε τελικά τα πράγματα που έχει συσταθεί σωστά, έτσι ώστε να μπορεί να εκπέμψει μας ItemStyle.xsl <Πίνακας> Ετικέτες στο σωστό μέρος.
ItemStyle.Xsl
ΣΗΜΕΊΩΣΗ: Και πάλι, Ελέγξτε σε ItemStyle.xsl μετά τη καθιστώντας οποιεσδήποτε αλλαγές, ώστε να μπορείτε να δείτε το αποτέλεσμα αυτών των αλλαγών.
Έχουμε δύο καθήκοντα εδώ:
- Αντικαταστήσει το ολόκληρο πλέγμα πρότυπο. Μπορείτε αντίγραφο/κόλλα από κάτω.
- Προσθέστε μερικές mumbo jumbo υπάγονται στον ορισμό του προτύπου που επιτρέπει "formatcurrency" πρότυπο λύνω. (Μπορείτε να πείτε ότι έχω μια αδύναμη λαβή για XSL).
Πρώτη, κοντά στην κορυφή του ItemStyle.xsl, Προσθέστε αυτή τη γραμμή:
<!-- Μερικές mumbo jumbo που μας επιτρέπει να εμφανίσετε U.S. νόμισμα. --> <XSL:δεκαδικό-format Όνομα="προσωπικό" ψηφίο="D" /> <XSL:πρότυπο Όνομα="Προεπιλογή" αγώνα="*" λειτουργία="itemstyle">
Σημείωση ότι θα προστεθεί άμεσα πριν την <XSL:πρότυπο όνομα = "προεπιλεγμένη" …> Ορισμός.
Επόμενη, πάω πίσω για να μας πρότυπο πλέγμα. Αντικαταστήστε το ολόκληρο πλέγμα πρότυπο με τον παρακάτω κώδικα. Αυτό είναι πολύ καλά σχολίασε, αλλά μην διστάσετε να μου e-mail ή να αφήνουν σχόλια στο blog μου, αν έχετε ερωτήσεις.
<XSL:πρότυπο Όνομα="Πλέγμα" αγώνα="Σειρά[@Style = "Πλέγμα"]" λειτουργία="itemstyle"> <!-- ContentMain.xsl περνάει CurPos και τελευταίο. Χρησιμοποιούμε αυτά να εκπέμπουν υπό όρους το άνοιγμα και κλείσιμο <Πίνακας> Ετικέτες. --> <XSL:Παράμ Όνομα="CurPos" /> <XSL:Παράμ Όνομα="Το τελευταίο" /> <!-- Τις ακόλουθες μεταβλητές είναι χωρίς τροποποιήσεις από το πρότυπο ItemStyle.xsl --> <XSL:μεταβλητή Όνομα="SafeImageUrl"> <XSL:κλήση-πρότυπο Όνομα="OuterTemplate.GetSafeStaticUrl"> <XSL:με Παράμ Όνομα="UrlColumnName" Επιλέξτε="«ImageUrl ενός»"/> </XSL:κλήση-πρότυπο> </XSL:μεταβλητή> <XSL:μεταβλητή Όνομα="SafeLinkUrl"> <XSL:κλήση-πρότυπο Όνομα="OuterTemplate.GetSafeLink"> <XSL:με Παράμ Όνομα="UrlColumnName" Επιλέξτε="«LinkUrl»"/> </XSL:κλήση-πρότυπο> </XSL:μεταβλητή> <XSL:μεταβλητή Όνομα="DisplayTitle"> <XSL:κλήση-πρότυπο Όνομα="OuterTemplate.GetTitle"> <XSL:με Παράμ Όνομα="Τίτλος" Επιλέξτε="@Title"/> <XSL:με Παράμ Όνομα="UrlColumnName" Επιλέξτε="«LinkUrl»"/> </XSL:κλήση-πρότυπο> </XSL:μεταβλητή> <XSL:μεταβλητή Όνομα="LinkTarget"> <XSL:Αν δοκιμή="@OpenInNewWindow = "True"" >_blank</XSL:Αν> </XSL:μεταβλητή> <!-- Εδώ μπορούμε να ορίσουμε μια μεταβλητή, "tableStart". Αυτό που περιέχει τον κώδικα HTML που χρησιμοποιούμε για να ορίσουμε το άνοιγμα του πίνακα, καθώς και τις ετικέτες στηλών. Σημειώστε ότι εάν CurPos = 1, περιλαμβάνει το HTML σε μια ετικέτα CDATA. Διαφορετικά, θα είναι άδειο. Η τιμή του tableStart είναι εκπέμπονται κάθε φορά ItemStyle καλείται μέσω ContentQueryMain.xsl. --> <XSL:μεταβλητή Όνομα="tableStart"> <XSL:Αν δοκιμή="$CurPos = 1"> <![CDATA[ <τραπέζι σύνορα = 1> <χρώμα φόντου TR = "μπλε"> <TD><χρώμα γραμματοσειράς = "λευκό"><β>Όνομα έργου</β></γραμματοσειρά></TD> <Στοίχιση TD = "δεξιά"><χρώμα γραμματοσειράς = "λευκό"><β>Πλήρης ημερομηνία</β></γραμματοσειρά></TD> <Στοίχιση TD = "δεξιά"><χρώμα γραμματοσειράς = "λευκό"><β>Προϋπολογισμού</β></γραμματοσειρά></TD> <Στοίχιση TD = "δεξιά"><χρώμα γραμματοσειράς = "λευκό"><β>Πραγματική δαπάνη</β></γραμματοσειρά></TD> <TD><χρώμα γραμματοσειράς = "λευκό"><β>Συνολική κατάσταση</β></γραμματοσειρά></TD> </TR> ]]> </XSL:Αν> </XSL:μεταβλητή> <!-- Μια άλλη μεταβλητή, tableEnd ορίζει απλώς το κλείσιμο πίνακας ετικέτα. Όπως και με tableStart, είναι πάντα εκπέμπονται. Γι ' αυτό και την αξία που αποδίδεται υπό όρους βασίζεται σε αν έχω ήδη περάσαμε την τελευταία γραμμή από ContentQueryMain.xsl. --> <XSL:μεταβλητή Όνομα="tableEnd"> <XSL:Αν δοκιμή="$CurPos = $Last"> <![CDATA[ </Πίνακας> ]]> </XSL:Αν> </XSL:μεταβλητή> <!-- Πάντα να εκπέμψει το περιεχόμενο του tableStart. Αν αυτό δεν είναι η πρώτη γραμμή πέρασε σε μας από ContentQueryMain.xsl, κατόπιν ξέρουμε την αξία θα είναι κενό. Απενεργοποίηση εξόδου διαφυγή επειδή όταν tableStart αυτό δεν είναι κενό, περιλαμβάνει πραγματική HTML που θέλουμε να καθίστανται από το πρόγραμμα περιήγησης. Αν δεν λένε το XSL parser να απενεργοποιήσετε εξόδου διαφυγή, θα παραγάγει τα πράγματα όπως"<Πίνακας>" αντί του"<Πίνακας>". --> <XSL:αξία των Επιλέξτε="$tableStart" Απενεργοποίηση-εξόδου-διαφυγή="Ναι"/> <TR> <!-- P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status --> <TD> <XSL:αξία των Επιλέξτε="@Project_x005F_x0020_Name"/> </TD> <TD Στοίχιση="δικαίωμα"> <XSL:αξία των Επιλέξτε="@Project_x005F_x0020_End_x005F_x0020_Date"/> </TD> <TD Στοίχιση="δικαίωμα"> <XSL:κλήση-πρότυπο Όνομα="FormatCurrency"> <XSL:με Παράμ Όνομα="αξία" |
Αυτό ήταν απίστευτα χρήσιμο. Ευχαριστούμε!
ΑΑΑ… ήταν επειδή όνομα μου στυλ λίστας διαφορετικά και δεν είχα συνειδητοποιήσει ότι η ContentQueryMain.xsl ελέγχει για το "στυλ":
<XSL:όταν test="@Style='NameOfMyStyle'">
Με το που μετονομάστηκε σε αυτό έλυσα. 🙂
Σχεδόν ελειτούργησε για με: Κατορθώνω να εξόδου τη </Πίνακας> τελικής ετικέτας σωστά, αλλά το εκκίνησης ετικέτα λείπει. Φαίνεται η δοκιμή = "$CurPos = 1" δεν επιστρέφει true. Αλλά γιατί?
Μεγάλη θέση. Paul, έχω κάνει όλα τα παραπάνω πράγματα. Έχω ένα ερώτημα, Πώς μπορώ να επιτευχθεί το ποσό των "συνολική πραγματική έξοδα" ή το άθροισμα της αξίας των δύο στηλών.
Έχετε κάνει οποιαδήποτε εργασία με τη δημιουργία προσαρμοσμένα αρχεία xsl ContentQueryMain και ItemStyle? Ο λόγος που ζητώ είναι ότι δεν θέλω να ανησυχείτε για μου προσαρμοσμένα στυλ να αντικαθίστανται με αναβαθμίσεις ή οποιαδήποτε μπαλώματα. Έχετε παραδείγματα? Έχω δοκιμάσει κάνοντας ένα πανομοιότυπο αντίγραφο του το ContentQueryMain.xsl και το φόρτωμα αυτό το νέο προσαρμοσμένο αντίγραφο στη βιβλιοθήκη στυλ. Κατά να υποβάλετε μια αναφορά σε αυτό το αρχείο xsl του .webpart MainXslLink ιδιοκτησία, Παίρνω 401 δεν επιτρέπεται. Το αρχείο xsl συνήθειας είναι μια δημοσιευμένη έκδοση και ο καθένας έχει πρόσβαση ανάγνωσης σε αυτό.
φανταστική θέση ευχαριστώ! Αγωνίστηκαν με αυτό τώρα για τις τελευταίες ημέρες.
Γεια σου, Αυτό ήταν πραγματικά χρήσιμο απόσπασης. Το έχω όλα εργασίας, και επίσης εφαρμοσμένος Mike Μπράουν αλλαγή έτσι ομαδοποιεί
τα αποτελέσματα μέσα στον πίνακα, από ό, τι μπορώ να επιλέξω ως παράμετρο Ομαδοποίηση_κατά στις ιδιότητες του CQWB.
Έκανα τον τίτλο ένα σύνδεσμο επίσης, έτσι λειτουργεί όμορφα. Έχω ακόμα ένα πρόβλημα, Αν και. Εγώ ομαδοποίηση των αποτελεσμάτων κατά όνομα. Μέσα στον πίνακα, ομαδοποιεί τους όμορφα, και φαίνεται μεγάλη, αλλά είναι ακόμα εκτύπωση από ομάδα των
ονόματα(στην περίπτωσή μου τα ονόματα των τοποθεσιών) πάνω από τον πίνακα. Ξέρει πώς να απαλλαγούμε από αυτά?
Ευχαριστώ,
Greg
Ωραίο άρθρο. Πρόλαβα να δώσω στο τραπέζι μου την εμφάνιση της προεπιλεγμένης λίστες Sharepoint αναλύοντας τον πηγαίο κώδικα του καταλόγου. Εδώ είναι τα κύρια μπλοκ HTML για να χωρέσουν σε ItemStyle:
<ΠΊΝΑΚΑΣ πλάτος = "100%" Class = "ms-listviewtable" σύνορα = 0 cellspacing = 0 cellpadding = 1 dir = "Κανένα">
<!–ΚΕΦΑΛΊΔΑ–>
<TR class = "ms-viewheadertr" ΚΑΤΑΚΌΡΥΦΗ = ΚΟΡΥΦΉ>
<Πεδίο εφαρμογής nowrap ου = «ΣΥΝΤΑΓΜΑΤΑΡΧΗ" Class = "ms-vh2"><div style = "πλάτος:100%;θέση:σχετική;αριστερά:0;κορυφή:0;">
<Στυλ πίνακα = "πλάτος:100%;" CtxNum = "1" ύψος = "100%" cellspacing = 1 cellpadding = 0 class = "ms-unselectedtitle">
<TR>
<TD πλάτος = "100%" Class = "ms vb" χωρίς αναδίπλωση>
Κείμενο du θέματα ici
</TD>
<TD στυλ = "θέση:απόλυτη;">
</TD>
</TR>
</ΠΊΝΑΚΑΣ></div>
</ΟΥ>
<!–Επαναλάβετε για όλα τα κελιά επικεφαλίδας–>
</TR>
<!– Δεδομένα πίνακα –>
<TR class = "">
<!–Στήλη δεδομένων, Χρησιμοποιήστε κώδικα του Παύλου για την πρώτη με την υπερ-σύνδεση –>
<TD Class = "ms-vb2">Δεδομένων εδώ</TD>
<!–Κενή στήλη–>
<TD Class = "ms-vb2">
<span dir = None></span><
/TD>
<!–Στήλης "ημερομηνία"–>
<TD Class = "ms-vb2">
<NOBR>11/12/2008</NOBR>
</TD>
</TR>
<!–***Εναλλακτική γραμμή – Χρησιμοποιήστε μια νέα μεταβλητή XSL που θα εισαγάγει την εναλλακτική τάξη με βάση την τρέχουσα γραμμή modulo 2–>
<TR class = "ms-εναλλασσόμενο">
…
</TR>
</ΠΊΝΑΚΑΣ>
Thatz ακριβώς έψαχνα για...Λικνίζετε άνθρωπος..Ζήτω...Σ ' αγαπώ για τη θέση..
<XSL:Επιλέξτε εφαρμογή προτύπων = "." λειτουργία = "itemstyle">
<XSL:με param όνομα = "CurPos" Επιλέξτε = "$CurPosition" />
<XSL:με param όνομα = "τελευταία" Επιλέξτε = "$LastRow" />
<XSL:με param όνομα = "StartNewGroup" Select="@__begingroup" />
</XSL:Όταν>
<XSL:όταν δοκιμαστεί = "$StartNewGroup = 'True'">
<TR>
<TD >
<XSL:name="OuterTemplate.GetGroupName κλήση-πρότυπο">
<XSL:με param όνομα = «GroupName" Select="@*[Όνομα()= $Group]"/>
<XSL:με param όνομα = "GroupType" Επιλέξτε = "$GroupType" />
</XSL:κλήση-πρότυπο>
</TD>
</TR>
</XSL:Όταν>
<XSL:διαφορετικά>
</XSL:διαφορετικά>
</XSL:Επιλέξτε>
Γεια σου Paul,
Όταν εργάζεστε με το τμήμα web xml/xsl και περιεχομένου ερωτήματος, έχετε βρει κανένα καλό τρόπους για να διαμορφώσετε σας xslt? Προσπαθεί να κάνει αλλαγές και να δοκιμάσουν το σχέδιο αποδεικνύεται ένα δικαίωμα πόνος στο το ένα ** μόνο χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας κειμένου…
Τα Καλύτερα
(π.χ.. https://myweb.com/Marketing/images/icn-order.gif, )
Πρέπει να χρησιμοποιήσω εικόνα ή μια εικόνα στο πεδίο Τύπος CommonViewFields? (π.χ.. InternalColumnName, Εικόνα)
Θέση σας είναι ακριβώς αυτό που έψαχνα. Ωστόσο, Εγώ cant αποκτώ αυτό λύνω.
Έχω τα έγγραφα που αποθηκεύονται σε διάφορες doc. βιβλιοθήκες αλλά διαβαθμισμένες χρησιμοποιώντας μια προσαρμοσμένη κατηγορία στήλη (επιλογή: 1 ή 2. Θέλω να χρησιμοποιήσω το CQWP να δείτε αυτά τα έγγραφα που βασίζονται σε κλάση τους.
Ήμουν σε θέση να προσθέσετε το CQWP, εξαγάγετε σε SPD, ρυθμίσετε το itemStyle.xls να δείξει τα προσαρμοσμένα πεδία στην προβολή λίστας. Ωστόσο, Δεν θα μπορούσε επιτυχώς να εφαρμόσει αυτό που περιγράφετε εδώ.
Αυτές είναι οι στήλες που θέλω να δείξω στην CQWP μου:
Τύπο αρχείου (να εμφανίσετε εικονίδιο)
Αρχείο τίτλο
Ημερομηνία που τροποποιήθηκε τελευταία
Τροποποιήθηκε από που
Έλεγξα έξω για να
Ελέγχονται σε σχόλια
Έχω σήμερα το αποτέλεσμα σε μορφή λίστας. Πώς μπορώ να την αλλάξω σε μορφή talble.
Ευχαριστώ.
Saji
Συγγνώμη για την missspelling στο όνομά μου, δεν είστε σίγουροι όπου το ” προήλθε από.