Orchardis moodulit arendades võime lisada mõningaid stiile või skripte, mis on just sellele moodulile spetsiifilised. Veebilehe optimeerimise seisukohalt tuleb tihti lisada stiile lehe pähe (<head>sildi juurde), samas kui skriptid tuleks lisada lehe allossa (sildi lähedale</body>). Kuid moodulile vastav vaatefail on tegelikult PartialView ning kui lisame otse vaatele stiili- või skriptiviitemärke, ei saavuta me soovitud tulemust. Kuidas seda funktsiooni Orchardis käsitletakse?
MVC vaatemootori WebViewPage klass on ümber kirjutatud Orchard raamistikus ning scrip{filter}t ja Style atribuudid on lisatud stiilide ja skriptide tutvustamiseks. See võimaldab meil kasutada neid kahte omadust otse vaates vastava meetodi kutsumiseks.
Kasuta oma vaadetes sisemisi stiile ja skripte
Kui peame kirjutama stiili või skripti definitsiooni otse lehele. Seejärel saame kirjutada stiile ja skripte konkreetsetesse piirkondadesse, mis on määratletud Orchardi teemaga. Näiteks saad kirjutada skripti lehe alumisse ossa, kasutades järgmist meetodit: @using (scrip{filter}t.Foot())
{ <scrip{filter}t type="text/javascrip{filter}t"> funktsioon JsSub() { Stsenaariume saab kirjutada siin } </scrip{filter}t>
} Orchardis ei ole stiili atribuudil pea meetodit, võib-olla Orchard ei taha, et me kasutaksime sisemisi stiile. Paneme stiili välisesse stiilifaili viitamiseks. Kasuta oma vaates väliseid stiile ja skripte
Kui tahame moodulites kutsuda stiile ja skripte. Seejärel saan kasutada scrip{filter}t ja Style atribuutide Include meetodit, näiteks: @{ Style.Include("xxx.css"); scrip{filter}t.Include("xxx.js");
} Nii otsib Orchard lehekülje renderdamisel automaatselt vastava stiilifaili selle mooduli Styles kataloogist ja genereerib stiiliviite sildi, mida lehe algusesse kirjutada. Samuti otsib ta vastavat skriptifaili scrip{filter}ts kataloogist ja genereerib lehe allosas kirjutatud skriptiviite sildi. Kasuta ressursifaile
Lisaks eelpool kirjeldatud kahele meetodile pakub Orchard ka ressursifaili manifestfunktsiooni. Pean lihtsalt looma ResourceManifest.cs-faili mooduli juurkatastusse ja rakendama IResourceManifestProvider liidest. Selles ressursimanifesti failis saame kasutada rikkalikumaid funktsioone stiilide ja skriptifailide viitamiseks. Näiteks skriptifaili viite määratlemiseks saab kasutada järgmiste vahenditega: public void BuildManifests(ResourceManifestBuilder builder) { Ehitaja. Add(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js")
} Nii saad vaatele viidates kasutada: @{ scrip{filter}t.Require("jQuery");
} Veelgi enam, pärast defineerimist saavad seda ressurssi kasutada ka teised moodulid ning kui lehel on mitu vaatefaili, mis sellele ressursile viitavad, ei teki duplikaatviiteid ning Orchard genereerib ainult sildi, mis viitab sellele skriptile. Sama kehtib ka stiilide määratlemise kohta: Ehitaja. Add(). DefineStyle("jQueryUI_Orchard"). SetUrl("jquery-ui-1.8.11.custom.css"); Kui kasutatakse: @{ Style.Require("jQueryUI_Orchard ");
} Ressursifailide nimekirjal on ka sõltuvuse seadete funktsioon. Kui skriptiressurss peab sõltuma teistest skriptiressurssidest, võib kasutada järgmist definitsiooni: Ehitaja. Add(). Definescrip{filter}t("jQueryUI_Core"). SetUrl("jquery.ui.core.min.js"). SetDependencies ("jQuery"); Nii kasutame vaates ainult jQueryUI_Core skripti ja see impordib automaatselt ka jquery skripti, millest ta sõltub. Kui kasutad samaaegselt mitut skripti, saad komadega eraldada mitu sõltuvat ressurssi, näiteks: Ehitaja. Add(). Definescrip{filter}t("jQueryUI_Draggable"). SetUrl("jquery.ui.draggable.min.js")SetDependencies("jQueryUI_Core", "jQueryUI_Widget", "jQueryUI_Mouse"); Kuid Orchard ei toeta veel skriptiressursside funktsiooni, mis tugineks stiiliressurssidele, mis on veidi kahju, tegelikult tuleb mõningaid js-e kasutada samaaegselt stiilifailidega, näiteks jQueryUI pluginat. Lisaks saab ressursiinventari fail määrata erinevaid skriptifaile silumisrežiimiks ja vabastamisrežiimiks ning määratleda vastava ressursiversiooni, näiteks: Ehitaja. Add(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js", "jquery-1.5.2.js"). SetVersion("1.5.2");
Orchard'iga kaasas olev Orchard.jQuery moodul on üks selline moodul, mis määratleb jQueryUI plugina. Kui peame seda pluginat kasutama, saame vaadata selles manifestfailis defineeritud js pluginat ja viidata sellele oma moodulis. Siiski tasub märkida, et kui peame viitama Orchard.jQuery mooduli sisule, peame seadistama sõltuvuse Orchard.jQuery mooduli mooduli manifestfailis, nii et kui moodul on lubatud, lubatakse Orchard.jQuery moodul sünkroonselt, et tagada ressursside normaalne kutsumine.
Jquery viidatakse scrip{filter}t.Require("jQuery") abil. AtHead();
|