alberto picazo publicó el 23/mayo/2010 13:17
(Descarga directa del artículo: http://www.megaupload.com/?d=C69AJ0K2)
Para crear un modulo en dnn 5, hay que tener instalado VS2008, ya que usa el frameWork 3.5
Primero crearemos un proyecto donde para el modulo, para cada modulo crearemos un proyecto.
Seleccionamos en Visual C# una aplicación web, le pondremos que nombre que queramos y seleccionaramos la ruta de la carpeta donde queremos dejar el proyecto.
Nota: El arbol de directorios de dnn es muy particular, todos los modulos los tendremos que meter dentro de la carpeta "DesktopModules" y dentro de este, en "HTML" y despues la carpeta donde queramos dejar el proyecto.
Borraremos el Web.config, ya que el que utilizara el modulo sera el web.config de la aplicación web.
Añadimos codigo al ascx para que luego cuando lo añadamos al dnn veamos que funciona.
añadimos la referencia del dotnetnuke, la dll se encuentra en la carpeta bin del raiz de la instalación del dnn.
se añade la libreria al cs. y cambiamos la herencia por
"DotNetNuke.Entities.Modules.PortalModuleBase"
Ahora generamos la dll.
en propiedades del proyecto podemos decirle donde expulsa la dll. si queremos podemos ponerla que la expulse en la carpeta "bin" de la aplicación Web, si preferimos que la expulse en en bin de nuestro proyecto, tendremos que copiarla a mano en el bin del raiz.
----------------------------
Una vez que tenemos nuestro control creado. vamos a añadirlo a dnn.
logueamos como Host. y entramos en Extensiones.
NOTA: hay que ver que la edición este puesta. en la parte de arriba a la izquierda.
en la flechita le damos a crear nueva extensión.
seleccionamos el tipo de extensión "Module" y rellenamos el resto de datos.
importante, en nombre de la carpeta, vienen por defecto el nombre del modulo, hay que añadirle delante la carpeta,
para que encuentre la ruta.
Una vez añadido, volvemos a darle a extensiones, para buscar la que hemos creado nosotros. y le damos al lapicero para editarla.
le damos a añadir definición, p y rellenamos el nombre de la definición.
ahora con la definición creada, la damos a agregar control.
en fuente, buscamos el ascx que hemos creado en el modulo.
Nota: hay tres tipos de modulos, "ver", "settings" y "admin"
ver: para el modulo que se ve en la página.
settings: para configurar ese modulo.
admin: para hacer modulos administrativos
Si queremos crear varios tipos de controles para un mismo modulo, iremos añadiendo controles a la misma definición.
por ejemplo:
HotelesVista.ascx, hotelesConfiguracion.ascx, hotelesAdmin.ascx
esos 3 controles irian en la misma difinicion "Hoteles".
Para añadir el control creado en dnn. hacemos lo siguiente.
Y ya estaria nuestro modul creado en la parte que le hemos indicado.