Estoy tratando de construir mi propio CMS para mí y mis clientes. El sistema se utilizará principalmente para pequeños sitios web < 10 páginas. Para proyectos más grandes, lo más probable es que use un sistema existente (MojoPortals, Umbraco, Kooboo). La razón por la que quiero mi propio sistema es para tener el control total y también porque los sistemas existentes están repletos de funciones que de todos modos no usaré para proyectos más pequeños. También estoy aprendiendo Asp.net Mvc, esa es la otra razón para construir mi propio sistema.Asp.net Mvc: Crear un cms simple
Estos son algunos de los sistemas que probé (algunos más que otros):
El que me gustó enseguida fue MojoPortals. Principalmente por el sistema de módulos izquierda-centro-derecha + módulos.
Así que mis objetivos son tener un sistema donde pueda crear páginas y cada página tendrá un marcador de posición izquierdo, medio y derecho para los módulos. Los módulos serán muy básicos (Texto, Html, Imagen). El sistema también debe ser fácil de implementar y reutilizar.
Ya comencé a trabajar en mi sistema.
El objeto de página tiene el siguiente aspecto:
public class Page
{
public int PageID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Title { get; set; }
public IEnumerable<Module> Modules { get; set; }
}
El objetivo del módulo es el siguiente:
public class Module
{
public int ModuleID { get; set; }
public string ModuleTitle { get; set; }
public string ModuleType { get; set; }
public string ModuleLocation { get; set; }
public Dictionary<string, string> ModuleValues { get; set; }
}
Así es como mi vista se ve: www.codepaste.com
Más tarde, probablemente añadir un objeto de sitio web que contiene información para qué vista (plantilla) se mostrará.
Las preguntas que tengo en este momento son principalmente sobre la vista. La vista que he vinculado tiene un código básico que primero verifica la ubicación del módulo y luego muestra toda la información del módulo en la ubicación correcta. Me gustaría que esa parte sea fácil de reutilizar. Así que pensé en hacer una vista parcial fuertemente tipada que haga las cosas izquierda, derecha y media. También para los módulos estaba pensando en usar vistas parciales y representar el parcial correcto de cierto tipo de módulo. Entonces el texto tendrá un parcial, html tendrá uno y así sucesivamente. No estoy seguro si esta es la técnica correcta.
¿Debo usar una vista parcial para manejar las partes izquierda, central y derecha y usar vistas parciales para cargar los módulos?
Si alguien tiene otra información sobre la construcción de un módulo basado en cms o técnicas/estructuras que pueda usar, sería realmente genial también.
Gracias de antemano, Pickels.
Mi consejo sería no molesta - utilizar Umbraco (que puede ser adaptado para ser muy sencillo). El esfuerzo de crear y mantener incluso un CMS aparentemente simple es grande, y eso es antes del inevitable deslizamiento futuro. ¿Qué sucede cuando alguien quiere retroceder a una versión anterior del contenido? ¿Puede tu esquema lidiar con eso? –
Gran pregunta. ¡Gracias hombre! – Shimmy