Hola qué tal? En esta oportunidad les quiero consultar cuál sería la manera correcta de desarrollar la siguiente funcionalidad en Symfony.
La idea es desarrollar un módulo de administración que permita gestionar toda la información que se visualiza en el frontend de un Sitio Web.
¿Cuál sería la mejor forma de hacerlo ?
Actualmente lo que tengo desarrollado es, un sitio web que en el FrontEnd tiene algunas páginas con:
- Sliders.
- secciones con:
- Título
- SubTítulos
- Párrafos.
- 1 Imagen.
Por lo que desarrollé un "módulo de administración" que permita gestionar éste contenido, uso las siguientes entidades:
Pagina 1 -> 1..* Contenidos 1 -> 1..* DetallesContenidos
Como toda la info. se guarda en la Base de datos, mi pregunta es: ¿Qué sería lo correcto?
Levantar toda la información a través de una consulta cada vez que se llame a una página ? ¿o ver la forma de que cada vez que se actualicen contenidos cachear toda la información visual del sitio?
Hoy estoy levantando toda la información desde la BD cada vez que se llama a una página, pero no creo que esté bien, por más que funcione.
¿Qué opinan ustedes?
Respuestas
Hola:
Te respondo con conocimiento de causa, basicamente, por que mi sistema funciona de una manera muy similar. Te explico:
Tengo una enitidad SECCION que tiene un h1 que es el titulo de la misma. Despues tengo una entidad que se llama SeccionContenido, de la que dependen 4 entidades más:
- AticulosContenido.
- ImagenesContenido.
- VideosContenido.
- SlidersContenido.
Entonces, en la entidad seccion y seccionescontenido, tengo una relación inversa para poder llamarlos desde el front y solo los llamo cuando estoy en esa sección en concreto.
Esepro haberte ayudado.
@TsubasaAkai
Ya se que me estoy metiendo donde no me llaman, pero en mi opinión, crear un CMS a mano y desde cero es un gran error. En vez de "perder" el tiempo (y el dinero) en esto, sería mejor usar alguno de los muchos CMS que existen en el mercado y que están basados en Symfony.
En symfony.com/projects tenéis un listado con todos ellos. Desde CMS enormes como Drupal, hasta muchos otros más pequeños y modernos como Bolt, Grav, Sulu, Pagekit, etc.
@javiereguiluz
Yo solo lo hice porque en mi trabajo lo querían asi, después simplemente, lo replique para mi. Pero creo que tienes razón.
@TsubasaAkai
Publiqué éste tema, porque justamente estaba esperando las respuestas que me dieron los dos. Muchas gracias @TsubasaAkai y @javiereguiluz, me considero nuevo todavía en este inmenso mundo web del que cada día voy aprendiendo un poco más.
Dentro de poco tengo que desarrollar otro sitio que se pueda autoadministrar y voy a probar de usar Bolt, Grav, Sulu, Pagekit alguno, luego les comento cómo me fue. Muchas gracias!
@MrXXX0323