Κατά την ανάπτυξη μιας ενότητας στο Orchard, ενδέχεται να προσθέσουμε ορισμένα στυλ ή σενάρια που είναι συγκεκριμένα για αυτήν την ενότητα. Από την άποψη της βελτιστοποίησης ιστοσελίδων, συχνά χρειάζεται να προσθέσουμε στυλ στην κορυφή της σελίδας (<head>στην ετικέτα), ενώ τα σενάρια θέλουν να προστεθούν στο κάτω μέρος της σελίδας (κοντά</body> στην ετικέτα). Ωστόσο, το αρχείο προβολής που αντιστοιχεί στη λειτουργική μονάδα που αναπτύξαμε είναι στην πραγματικότητα ένα PartialView και αν προσθέσουμε ετικέτες αναφοράς στυλ ή σεναρίου απευθείας στην προβολή, δεν θα επιτύχουμε το επιθυμητό αποτέλεσμα. Πώς αντιμετωπίζεται λοιπόν αυτό το χαρακτηριστικό στο Orchard;
Η κλάση WebViewPage της μηχανής προβολής MVC έχει ξαναγραφτεί στο πλαίσιο Orchard και τα χαρακτηριστικά scrip{filter}t και Style έχουν προστεθεί για την εισαγωγή στυλ και σεναρίων. Αυτό μας επιτρέπει να χρησιμοποιήσουμε αυτές τις δύο ιδιότητες απευθείας στην προβολή για να καλέσουμε την αντίστοιχη μέθοδο.
Χρήση εσωτερικών στιλ και σεναρίων στις προβολές σας
Εάν πρέπει να γράψουμε έναν ορισμό στυλ ή έναν ορισμό σεναρίου απευθείας στη σελίδα. Στη συνέχεια, μπορούμε να γράψουμε στυλ και σενάρια σε συγκεκριμένες περιοχές που ορίζονται από το θέμα Orchard. Για παράδειγμα, μπορείτε να γράψετε ένα σενάριο στην κάτω περιοχή της σελίδας χρησιμοποιώντας την ακόλουθη μέθοδο: @using (scrip{filter}t.Foot())
{ <scrip{filter}t type="text/javascrip{filter}t"> συνάρτηση JsSub() { Τα σενάρια μπορούν να γραφτούν εδώ } </scrip{filter}t>
} Στο Orchard, το χαρακτηριστικό Style δεν έχει μέθοδο Head, ίσως το Orchard δεν θέλει να χρησιμοποιήσουμε εσωτερικά στυλ. Ας βάλουμε λοιπόν το στυλ σε ένα εξωτερικό αρχείο στυλ για αναφορά. Χρήση εξωτερικών στυλ και δεσμών ενεργειών στην προβολή σας
Αν θέλουμε να καλέσουμε στυλ και σενάρια σε ενότητες. Στη συνέχεια, μπορώ να χρησιμοποιήσω τη μέθοδο Include των χαρακτηριστικών scrip{filter}t και Style, όπως: @{ Style.Include("xxx.css"); scrip{filter}t.Include("xxx.js");
} Με αυτόν τον τρόπο, κατά την απόδοση μιας σελίδας, το orchard θα αναζητήσει αυτόματα το αντίστοιχο αρχείο στυλ στον κατάλογο Styles σε αυτήν την ενότητα και θα δημιουργήσει μια ετικέτα αναφοράς στυλ για να γράψει στην κορυφή της σελίδας. Θα αναζητήσει επίσης το αντίστοιχο αρχείο σεναρίου στον κατάλογο scrip{filter}ts και θα δημιουργήσει μια ετικέτα αναφοράς σεναρίου γραμμένη στο κάτω μέρος της σελίδας. Χρήση αρχείων πόρων
Εκτός από τις δύο μεθόδους που περιγράφονται παραπάνω, το Orchard παρέχει επίσης μια συνάρτηση δήλωσης αρχείου πόρου. Απλώς πρέπει να δημιουργήσω ένα αρχείο ResourceManifest.cs στον ριζικό κατάλογο της μονάδας και να εφαρμόσω τη διεπαφή IResourceManifestProvider. Σε αυτό το αρχείο δήλωσης πόρων, μπορούμε να έχουμε πλουσιότερες συναρτήσεις για την αναφορά στυλ και αρχείων σεναρίων. Για παράδειγμα, ο ορισμός μιας αναφοράς σε ένα αρχείο δέσμης ενεργειών μπορεί να χρησιμοποιηθεί με: δημόσιο κενό BuildManifests(ResourceManifestBuilder builder) { οικοδόμος. Προσθήκη(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js")
} Με αυτόν τον τρόπο, όταν κάνετε αναφορά σε μια προβολή, μπορείτε να χρησιμοποιήσετε: @{ scrip{filter}t.Require("jQuery");
} Επιπλέον, μετά τον ορισμό, άλλες ενότητες μπορούν επίσης να χρησιμοποιήσουν αυτόν τον πόρο και όταν υπάρχουν πολλά αρχεία προβολής που αναφέρονται σε αυτόν τον πόρο σε μια σελίδα, δεν θα υπάρχουν διπλές αναφορές και το Orchard θα δημιουργήσει μόνο μια ετικέτα που αναφέρεται σε αυτό το σενάριο. Το ίδιο ισχύει και για τον καθορισμό στυλ: οικοδόμος. Προσθήκη(). DefineStyle("jQueryUI_Orchard"). SetUrl("jquery-ui-1.8.11.custom.css"); Κατά τη χρήση: @{ Style.Require("jQueryUI_Orchard ");
} Η λίστα αρχείων πόρων διαθέτει επίσης μια λειτουργία ρύθμισης εξάρτησης. Όταν ένας πόρος δέσμης ενεργειών πρέπει να εξαρτάται από άλλους πόρους δέσμης ενεργειών, μπορεί να χρησιμοποιηθεί ο ακόλουθος ορισμός: οικοδόμος. Προσθήκη(). Definescrip{filter}t("jQueryUI_Core"). SetUrl("jquery.ui.core.min.js"). SetDependencies("jQuery"); Με αυτόν τον τρόπο χρησιμοποιούμε μόνο jQueryUI_Core σενάριο στην προβολή και θα εισαγάγει αυτόματα και το σενάριο jquery από το οποίο εξαρτάται. Εάν βασίζεστε σε πολλές δέσμες ενεργειών ταυτόχρονα με τις δέσμες ενεργειών, μπορείτε να χρησιμοποιήσετε κόμματα για να διαχωρίσετε πολλούς εξαρτώμενους πόρους, όπως: οικοδόμος. Προσθήκη(). Definescrip{filter}t("jQueryUI_Draggable"). SetUrl("jquery.ui.draggable.min.js")SetDependencies("jQueryUI_Core", "jQueryUI_Widget", "jQueryUI_Mouse"); Ωστόσο, το Orchard δεν υποστηρίζει ακόμη τη λειτουργία των πόρων σεναρίων που βασίζονται σε πόρους στυλ, κάτι που είναι λίγο κρίμα, στην πραγματικότητα, ορισμένα js πρέπει να χρησιμοποιούνται ταυτόχρονα με αρχεία στυλ, όπως η προσθήκη jQueryUI. Επιπλέον, το αρχείο απογραφής πόρων μπορεί επίσης να ορίσει διαφορετικά αρχεία σεναρίων για τη λειτουργία εντοπισμού σφαλμάτων και τη λειτουργία απελευθέρωσης και μπορεί επίσης να ορίσει την αντίστοιχη έκδοση πόρων, όπως: οικοδόμος. Προσθήκη(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js", "jquery-1.5.2.js"). SetVersion("1.5.2");
Η λειτουργική μονάδα Orchard.jQuery που συνοδεύει το Orchard είναι μια τέτοια ενότητα που ορίζει την προσθήκη jQueryUI. Εάν πρέπει να χρησιμοποιήσουμε αυτό το πρόσθετο, μπορούμε να δούμε το πρόσθετο js που ορίζεται σε αυτό το αρχείο δήλωσης και να το αναφέρουμε στη δική μας ενότητα. Ωστόσο, αξίζει να σημειωθεί ότι εάν πρέπει να αναφέρουμε το περιεχόμενο στη λειτουργική μονάδα Orchard.jQuery, πρέπει να ορίσουμε τη λειτουργική μονάδα εξάρτησης Orchard.jQuery στο αρχείο δήλωσης της λειτουργικής μονάδας, έτσι ώστε όταν η λειτουργική μονάδα μας είναι ενεργοποιημένη, η λειτουργική μονάδα Orchard.jQuery θα ενεργοποιηθεί συγχρονισμένα για να διασφαλιστεί ότι οι πόροι στους οποίους αναφερόμαστε μπορούν να κληθούν κανονικά.
Το jquery αναφέρεται χρησιμοποιώντας το scrip{filter}t.Require("jQuery"). AtHead();
|