Pri razvoju modula v Orchard lahko dodamo nekatere stile ali skripte, ki so specifične za ta modul. Z vidika optimizacije spletne strani pogosto potrebujemo sloge dodati na začetek strani (<head>na oznako), medtem ko skripte želimo dodati na dno strani (blizu</body> oznake). Vendar pa je datoteka pogleda, ki ustreza modulu, ki smo ga razvili, pravzaprav DelialView, in če neposredno dodamo oznake za slog ali script reference v pogled, ne bomo dosegli želenega učinka. Kako pa je ta funkcija urejena v Orchardu?
Razred WebViewPage v MVC view engine je bil prepisan v ogrodju Orchard, dodana pa sta bila tudi atributa scrip{filter}t in Style, ki uvaja sloge in skripte. To nam omogoča, da ti dve lastnosti neposredno uporabimo v pogledu za klic ustrezne metode.
Uporabite notranje sloge in skripte v svojih pogledih
Če moramo napisati definicijo sloga ali skripte neposredno na stran. Nato lahko vpišemo sloge in scenarije v specifična področja, ki jih določa tema Sadovnjaka. Na primer, skripto lahko napišete na spodnji del strani z naslednjo metodo: @using (scrip{filter}t.Foot())
{ <scrip{filter}t type="text/javascrip{filter}t"> funkcija JsSub() { Scenarije lahko napišete tukaj } </scrip{filter}t>
} V Orchardu atribut Slog nima metode Glava, morda Orchard ne želi, da uporabljamo notranje stile. Torej, postavimo slog v zunanjo datoteko za referenco. Uporabite zunanje sloge in skripte v svojem pogledu
Če želimo imenovati sloge in skripte v modulih. Nato lahko uporabim metodo Include za atribute scrip{filter}t in Style, kot so: @{ Style.Include("xxx.css"); scrip{filter}t.Include("xxx.js");
} Na ta način bo orchard pri upodabljanju strani samodejno poiskal ustrezno slogsko datoteko v mapi Styles v tem modulu in ustvaril oznako za referenco sloga, ki jo zapiše na začetek strani. Prav tako bo iskal ustrezno datoteko skripte v mapi scrip{filter}ts in generiral oznako script reference, napisano na dnu strani. Uporabi datoteke z viri
Poleg dveh zgoraj opisanih metod Orchard ponuja tudi funkcijo manifestiranja datoteke z viri. Samo ResourceManifest.cs datoteko moram ustvariti v korenski mapi modula in implementirati vmesnik IResourceManifestProvider. V tej datoteki manifesta virov lahko imamo bogatejše funkcije za referenciranje slogov in skriptnih datotek. Na primer, definiranje reference na skriptno datoteko se lahko uporabi z: public void BuildManifests(ResourceManifestBuilder builder) { graditelj. add(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js")
} Na ta način lahko pri referenciranju v pogledu uporabite: @{ scrip{filter}t.Require("jQuery");
} Poleg tega lahko po definiranju ta vir uporabljajo tudi drugi moduli, in ko je na strani več datotek pogledov, ki se sklicujejo na ta vir, ne bo podvojenih referenc, Orchard pa bo generiral le oznako, ki se sklicuje na ta skript. Enako velja za opredelitev slogov: graditelj. add(). DefineStyle("jQueryUI_Orchard"). SetUrl("jquery-ui-1.8.11.custom.css"); Pri uporabi: @{ Slog.Zahtevamo("jQueryUI_Orchard ");
} Seznam datotek virov ima tudi funkcijo nastavitve odvisnosti. Ko mora biti skriptni vir odvisen od drugih skriptnih virov, se lahko uporabi naslednja definicija: graditelj. add(). Definescrip{filter}t("jQueryUI_Core"). SetUrl("jquery.ui.core.min.js"). SetDependencies("jQuery"); Na ta način uporabljamo le jQueryUI_Core skripto v pogledu, in samodejno bo uvozila tudi jquery skripto, od katere je odvisna. Če se zanašate na več skript hkrati kot na skripte, lahko uporabite vejico za ločevanje več odvisnih virov, kot so: graditelj. add(). Definescrip{filter}t("jQueryUI_Draggable"). SetUrl("jquery.ui.draggable.min.js")SetDependencies("jQueryUI_Core", "jQueryUI_Widget", "jQueryUI_Mouse"); Vendar Orchard še ne podpira funkcije skriptnih virov, ki temeljijo na slogovnih virih, kar je nekoliko škoda, pravzaprav je treba nekatere js uporabljati hkrati s slog datotekami, kot je vtičnik jQueryUI. Poleg tega lahko datoteka inventarja virov nastavi različne skriptne datoteke za način razhroščevanja in načina izdaje ter določi ustrezno različico vira, na primer: graditelj. add(). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js", "jquery-1.5.2.js"). SetVersion("1.5.2");
Modul Orchard.jQuery, ki je priložen Orchard, je eden takih, ki definira vtičnik jQueryUI. Če moramo uporabiti ta vtičnik, lahko pogledamo js vtičnik, definiran v tej manifestni datoteki, in ga referenciramo v našem modulu. Vendar je vredno omeniti, da če moramo referencirati vsebino v modulu Orchard.jQuery, moramo modul odvisnosti Orchard.jQuery nastaviti v datoteki manifesta modula, tako da bo, ko je naš modul omogočen, modul Orchard.jQuery omogočen sinhronizirano, da se zagotovi, da je mogoče vire, na katere se sklicujemo, klicati normalno.
jquery se sklicuje z uporabo scrip{filter}t.Require("jQuery"). AtHead();
|