Para que quede claro, hay algunos métodos que dependen de su situación. Esbozaré el más común que sé.
En primer lugar, está la inclusión de un script externo o una hoja de estilo en su pieza o tema en particular. La sintaxis estándar dentro de una plantilla de afeitar es la siguiente:
@Style.Include("YourPartEdit")
@Script.Require("jQuery")
@Script.Include("YourPartEdit")
los archivos de inclusión buscarán ese recurso específico de la carpeta Style
o Scripts
correspondiente: para @Script.Include("YourPartEdit")
, que se verá en la carpeta de guiones para YourPartEdit.js
.
Es posible que haya notado que con Script.Require
puede registrar una biblioteca con Orchard (en este caso, la registrada es jQuery
), y hacer que un módulo requiera esa secuencia de comandos en particular.
Para ello, crea su propia implementación de la interfaz IResourceManifestProvider
, e implementa el método BuildManifests(ResourceManifestBuilder builder)
y crea un recurso con nombre. Puede usar .AtFoot()
o .AtHead()
para apuntar donde va a ir.
Ahora diga que quiere hacer referencia a una imagen en particular, y quiere usar Razor para apuntar siempre a la imagen correcta Url. Ante todo recomiendo colocar la imagen en la carpeta de Content
para su tema (suponiendo que se trata de un tema relacionado con la imagen), y que va a hacer algo en este sentido:
<img [email protected](Html.ThemePath(WorkContext.CurrentTheme, "/Content/your-logo.png")) />
Ahora, decir que esto es en su Layout.cshtml
página: ahora servirá con éxito la imagen en cualquier parte del sitio.
Estas técnicas particulares deberían dar cuenta de una multitud de situaciones.
lo que tengo entendido que sólo se utilizaría builder.Add.DefineResource si quería hacer que los recursos disponibles a otros módulos. ¿Simplemente hace referencia al contenido de su tema o intenta que el contenido esté disponible para otros temas/módulos? – mdm
Solo estoy buscando referencia en el tema/módulo actual. – Carl