2011-08-22 17 views

Respuesta

11

Si ha instalado el módulo Orchard.jQuery y habilitado, a continuación, en la parte superior de la vista de su uso:

Script.Require("jQuery") 

Tener un vistazo a la clase ResourceManifest en el proyecto Orchard.jQuery (debe estar en algún lugar de su archivo de solución Orchard), allí puede ver todos los diferentes módulos jQuery que puede incluir usando esta sintaxis (por ej. jQueryUI_Core, jQueryUI_Tabs, etc.)

Por ej.

manifest.DefineScript("jQueryUI").SetUrl("jquery-ui.min.js", "jquery-ui.js").SetVersion("1.9.2").SetDependencies("jQuery") 
       .SetCdn("//ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/jquery-ui.min.js", "//ajax.aspnetcdn.com/ajax/jquery.ui/1.9.2/jquery-ui.js", true); 
27

Puedes hacerlo doble.

primer enfoque es igual MDM describe:

  1. Crear su propia implementación de IResourceManifestProvider interfaz (echar un vistazo a la fuente Orchard - que ha sido implementado en muchos módulos), implementar BuildManifests(ResourceManifestBuilder builder) método y crear un nombre recurso para un archivo .js determinado
  2. Use @{ Script.Require("[your resource name]"); } en su archivo de vista Razor (.cshtml) para incluir ese script.

Esta es una solución preferida si tiene muchos archivos de comandos, posiblemente con dependencias entre ellos. Le permite especificar las dependencias para cada archivo de script y hacer que Orchard se encargue del resto (de modo que cuando haga referencia a un recurso determinado, todos los dependientes también se referenciarán automáticamente en el orden correcto).

El segundo enfoque más simple es para hacer referencia directamente el archivo de secuencia de comandos en su archivo .js .cshtml, sin crear un recurso con nombre. Es útil si desea agregar rápidamente una referencia a un solo script. Como esto (ejemplo tomado de Orchard.Web \ Core \ Formas \ views \ Document.cshtml):

@{ Script.Include("html5.js").AtLocation(ResourceLocation.Head); } 
+0

se puede ver un buen ejemplo en ** \ Orchard.Web \ Modules \ Orchard.Tags \ ResourceManifest.cs ** en la que se define tanto un estilo y un guion – VitalyB

+0

¿Cómo harías esto si la página se creó a través de la función de administrador de Orchard CMS? En este caso, no hay ningún archivo de vista Razor (¿existe)? – spadelives

1

Es un poco trampa, pero se puede simplemente añadir esto al archivo de diseño o documento.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script> 

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js" type="text/javascript"></script> 
+4

haciendo trampa sí, pero es mejor hacerlo a través de 'Script.Include (" ");' ya que Orchard solo cargará uno si se hace referencia a muchos a través de diferentes vistas. –

+0

Puede tener problemas para hacer este tipo de cosas. Digamos, por ejemplo, que su entorno de prueba no tiene acceso a Internet. Realmente debería tener todo lo que necesita incluido en su solución. –

0

Para tener un buen ejemplo, busque el módulo ContentPicker. Esto viene con el código fuente predeterminado de Orchard. Muestra cómo puede usar Script.Require ("MyScript"). El módulo JQuery en sí es un buen ejemplo. Este módulo también viene con código fuente predeterminado.

Nota: Me refiero a Orchard 1.7 y versiones posteriores

Cuestiones relacionadas