El código fuente de la plantilla no se almacenaría en una base de datos.
Se almacenaría como css, html / xslt y js.
Entonces se trataría simplemente de almacenar el nombre de la plantilla en la base de datos. En ese punto, se vuelve trivial agregar más temas y dejar que el usuario elija.
- ¿Qué debo usar: Vagrant o Ubuntu para un desarrollo web de pila LAMP?
- ¿Por qué XMPP no es más popular en el desarrollo web?
- En LAMP, ¿cuáles son los beneficios y las desventajas de Foundation y Laravel vs. Bootstrap y Code Igniter?
- ¿Qué protocolo es responsable de controlar el tamaño de los segmentos y la velocidad a la que se intercambian los segmentos entre un cliente web y un servidor web?
- ¿Qué opinas de AngularJS? ¿Puede ser una buena herramienta para desarrollar una buena aplicación web?
theme1 / css / file.css
theme1 / js / file.js
theme2 / css / file.css
theme2 / js / file.js
Y en la base de datos, simplemente almacena theme1 o theme2. Luego inyecte eso en la página durante el renderizado inicial.
En cuanto al contenido, llamaría a cada área de una página zona. zona1, zona2, etc., etc.
entonces las filas de su base de datos pueden ser algo (y REALMENTE estoy simplificando demasiado aquí):
id – pageid – zona – contenido
Cada página tiene su propio nombre en la base de datos, en una tabla de páginas
id: nombre de página
La identificación aquí se utiliza como referencia en la tabla de zonas.
Como nota al margen, ¿sabía que Yahoo fue el primero en ofrecer una herramienta en el navegador como esta, que todos los demás, como wix, web, squarespace, etc., copiaron? Se llamaba Yahoo! Solución del sitio. Admitía galerías, videos, archivos de audio, formularios personalizados, etc.