Crear páginas de forma dinámica

Tunnecino

Hola!

Estoy haciendo un script opensource, y dicho script incluye un pequeño cms para poder crear y editar tus propias páginas dentro del sistema. El problema viene a la hora de plantear la creación de nuevas páginas...

He aquí mi duda. Ahora mismo estoy usando plantillas ya creadas, al estilo:

Página tal, template : content_estilo2 > El sistema busca esa plantilla en el template activo -> Y carga la página con ese template, y los datos y textos de esa página de la db.

Pero claro, ahí ya tendrías muy limitado a la hora de crear páginas nuevas, y ya necesitarías conocimientos, básicos o no, de html para crear tus propias plantillas, según el css del template y demás... un rollo.

Un colega me sugirió hacer plantillas básicas y añadir el contenido mediante "widgets", del estilo editar el template y añadir {CALENDAR} o {SLIDER}... pero tampoco me convence.

Alguien que ya haya hecho un script o cms similar me puede, al menos, orientar? El código de lo que llevo puedo pasarlo sin problema, lo tengo subido a github, y de motor de plantillas uso Twig (de los desarrolladores de symfony, aunque por el lado de programación el framework es propio).

Gracias de antebraso

Tunnecino

Bueno, tan solo añadir que hasta que no consiga la respuesta no puedo seguir, y por ende estoy atascado...

Solo era aclarar eso, que me siento muy abandonado aquí xD

elkaoD

Si el CSS está bien hecho, un texto estándar que use etiquetas HTML comunes (negritas, cursivas, etc.) se formateará bien.

Hay miles de scripts de editores WYSIWYG.

Tunnecino

Creo que no me has entendido, a ver:

Cuanto el usuario quiera crear una nueva página, quiero que haya varios modelos o plantillas. La duda viene cuando me planteo como hacer dicho sistema, y no limitar al usuario a un solo modelo de plantillas, si no que se puedan usar varios.

1 respuesta
n1x3r

puedes usar el sistemas que se viene usando desde el principio de los tiempos, un sistema de plantillas estandard, en el que el usuario configura el nombre de la plantilla que le gusta y sera esta la que se ejecute.

Pongamos un ejemplo asi a lo bestia.

themes
themes/plantilla1
themes/plantilla2

Dentro de cada plantilla su index.php, header.php, footer.php, body.php, css, imagenes
cada archivo ejecutara las funciones que tenga y mostrara los datos, el usuario solamente tendrá que cambiar entre plantilla1 y plantilla2.
Si quieres crear plantillas nuevas, solo te tendrás que basar en una básica o modificar una existente y escribir los archivos dentro de una nueva carpeta llamada plantilla_pepito
Otra forma de hacerlo seria usando sql y una plantilla basica, pero seria algo un poco mas lioso.

Tunnecino

Si, si eso ya está hecho, además funciona bajo twig, con lo que tiene un soporte bastante bueno de templates.

La duda era esa, si hacer que el usuario hiciese sus propias plantillas, o buscar un sistema para hacerlas desde el cms.

elkaoD

#4 estás jodido entonces. O lo haces por widgets o no lo haces. Hay cientos de webs que te permiten crear tus propias plantillas y todas son widgets y pequeños cambios a los colores y demás del CSS de la plantillas pre-hechas.

Si nadie lo ha hecho antes con lo "útil" que sería para cientos de empresas, es que no hay forma buena de hacerlo xD

Usuarios habituales

  • elkaoD
  • Tunnecino
  • n1x3r