Når vi udvikler et modul i Orchard, kan vi tilføje nogle stilarter eller scripts, der er specifikke for dette modul. Fra et websideoptimeringsperspektiv har vi ofte brug for at tilføje stilarter til sidens hoved (<head>ved etiketten), mens scripts ønsker at blive tilføjet nederst på siden (tæt på</body> etiketten). Men visningsfilen, der svarer til det modul, vi har udviklet, er faktisk en PartialView, og hvis vi tilføjer stil- eller scriptreferencetags direkte til visningen, opnår vi ikke den ønskede effekt. Så hvordan håndteres denne funktion i Orchard?
WebViewPage-klassen i MVC-visningsmotoren er blevet omskrevet i Orchard-frameworket, og attributterne scrip{filter}t og Style er blevet tilføjet for at introducere styles og scripts. Dette gør det muligt at bruge disse to egenskaber direkte i visningen til at kalde den tilsvarende metode.
Brug interne stilarter og scripts i dine visninger
Hvis vi skal skrive en stil- eller scriptdefinition direkte ind på siden. Så kan vi skrive stilarter og scripts i specifikke områder defineret af Orchard-temaet. For eksempel kan du skrive et script til bunden af siden ved hjælp af følgende metode: @using (scrip{filter}t.Foot())
{ <scrip{filter}t type="text/javascrip{filter}t"> funktion JsSub() { Manuskripter kan skrives her } </scrip{filter}t>
} I Orchard har Style-attributten ikke en Head-metode, måske ønsker Orchard ikke, at vi bruger interne stilarter. Så lad os lægge stilen i en ekstern stilfil til reference. Brug eksterne stilarter og scripts i dit view
Hvis vi vil kalde stilarter og scripts i moduler. Så kan jeg bruge Include-metoden for attributterne scrip{filter}t og Style, såsom: @{ Stil. Inkludér ("xxx.css"); scrip{filter}t.Include("xxx.js");
} På denne måde vil Orchard, når en side renderes, automatisk slå den tilsvarende stilfil op i Styles-mappen i dette modul og generere et stilreferencetag, som skal skrives øverst på siden. Den vil også lede efter den tilsvarende scriptfil i mappen scrip{filter}ts og generere et script-referencetag skrevet nederst på siden. Brug ressourcefiler
Ud over de to ovennævnte metoder tilbyder Orchard også en ressourcefilmanifestfunktion. Jeg skal bare oprette en ResourceManifest.cs-fil i modulets rodmappe og implementere IResourceManifestProvider-grænsefladen. I denne ressourcemanifestfil kan vi have rigere funktioner til referencestile og scriptfiler. For eksempel kan definition af en reference til en scriptfil bruges med: public void BuildManifests(ResourceManifestBuilder builder) { Bygger. Add(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js")
} På denne måde kan du, når du refererer til et view, bruge: @{ scrip{filter}t.Require("jQuery");
} Desuden kan andre moduler efter definition også bruge denne ressource, og når der er flere view-filer, der refererer til denne ressource på en side, vil der ikke være dubletter referencer, og Orchard vil kun generere et tag, der refererer til dette script. Det samme gælder for definerende stilarter: Bygger. Add(). DefineStyle("jQueryUI_Orchard"). SetUrl("jquery-ui-1.8.11.custom.css"); Når man bruger: @{ Stil. Krav ("jQueryUI_Orchard ");
} Ressourcefillisten har også en afhængighedsindstillingsfunktion. Når en scriptressource skal være afhængig af andre scriptressourcer, kan følgende definition anvendes: Bygger. Add(). Definescrip{filter}t("jQueryUI_Core"). SetUrl("jquery.ui.core.min.js"). SetDependencies("jQuery"); På den måde bruger vi kun jQueryUI_Core script på viewen, og den importerer automatisk det jquery-script, den er afhængig af. Hvis du er afhængig af flere scripts samtidig som scripts, kan du bruge kommaer til at adskille flere afhængige ressourcer, såsom: Bygger. Add(). Definescrip{filter}t("jQueryUI_Draggable"). SetUrl("jquery.ui.draggable.min.js")SetDependencies("jQueryUI_Core", "jQueryUI_Widget", "jQueryUI_Mouse"); Dog understøtter Orchard endnu ikke funktionen af scriptressourcer, der er afhængige af stilressourcer, hvilket er lidt ærgerligt, faktisk skal nogle js bruges samtidig med stilfiler, såsom jQueryUI-pluginet. Derudover kan ressourceinventarfilen også sætte forskellige scriptfiler til debug-tilstand og udgivelsestilstand og kan også definere den tilsvarende ressourceversion, såsom: Bygger. Add(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js", "jquery-1.5.2.js"). SetVersion("1.5.2");
Orchard.jQuery-modulet, der følger med Orchard, er et sådant modul, der definerer jQueryUI-plugin'et. Hvis vi skal bruge dette plugin, kan vi se på js-plugin'et defineret i denne manifestfil og referere til det i vores eget modul. Det er dog værd at bemærke, at hvis vi skal referere til indholdet i Orchard.jQuery-modulet, skal vi sætte afhængighedsmodulet Orchard.jQuery i modulmanifestfilen, så når vores modul aktiveres, vil Orchard.jQuery-modulet være aktiveret synkront for at sikre, at de ressourcer, vi refererer til, kan kaldes normalt.
jquery refereres til ved hjælp af scrip{filter}t.Require("jQuery"). AtHead();
|