Gestión de contenido para proyecto PHP existente

En un proyecto existente que se desarrolla como una solución personalizada completa, nos enfrentamos a la necesidad de un sistema de gestión de contenido (tanto para nosotros como para el cliente). Nuestras necesidades genéricas actuales son (en la terminología de WordPress):

  • Cree tipos de publicaciones y taxonomías personalizadas (traducibles y versionadas).
  • Acceda al contenido dado por la API programable (por ejemplo, obtenga todos los elementos de ciertos tipos de publicaciones)
  • Administración para el tipo de publicación dado (cuadrícula de datos + formularios)

Consideró las siguientes opciones:

  1. Usar CMS "estándar" (Drupal, Wordpress): parece imposible, ya que parecen demasiado independientes para usar solo una parte de ellos, lo que requeriría principalmente una reescritura completa de nuestra base de código actual (lo cual es imposible).
  2. Escriba dicha funcionalidad para que se ajuste al proyecto, no tan abstracto, pero no reutilizable.
  3. Biblioteca que proporciona la funcionalidad descrita, solo instale y configure los tipos de publicaciones, taxonomías ... - sería perfecto, pero no lo he encontrado hasta ahora. ( Symfony CMF parece que podría hacer esto, es difícil decirlo a partir de la documentación).

Preguntas:

  1. ¿Hay algún CMS con la funcionalidad descrita que sería posible integrar en un proyecto existente?
  2. ¿Hay alguna biblioteca que proporcione la funcionalidad descrita?

Nota: preguntado anteriormente en https://stackoverflow.com/questions/42230616/content-management-for-existing-php-project porque consideré que era una pregunta más relacionada con la programación.

¿No estás seguro de lo que estás pidiendo? Ya ha identificado lo que necesita y las posibles soluciones (WordPress/Drupal, etc.). ¿Cuál es el problema que está teniendo al integrarlos en un proyecto existente? Si está buscando una forma de incluir la funcionalidad de WordPress (por ejemplo) en otro proyecto basado en la web, eche un vistazo a Integración de Wordpress en un sitio que no es de WordPress . He usado ese método antes para que las publicaciones de WordPress se muestren en un sitio web basado en CMS Made Simple.

Respuestas (1)

Por lo que escribiste, diría que deberías echar otro vistazo a Drupal.

  • Puede definir fácilmente los tipos de contenido de sus publicaciones, con nombres de campos personalizados, tipos de campos y campos relacionales. Puede traducir cada publicación y puede definir su esquema de URL. El sistema de taxonomía es genial, puede tener relaciones padre-hijo, sinónimos, taxonomías paralelas, etc.
  • El núcleo de Drupal 8 está bien estructurado y, en teoría, podría incluirse como una dependencia en su proyecto PHP, donde solo se pueden usar partes de la API de Drupal para tener acceso programático a los objetos de contenido (consultas, filtrado, creación, etc.). Alternativamente, puede usar la API REST para acceder.
  • Se puede configurar la administración para los tipos de publicaciones.

Aconsejaría no usar una "biblioteca" para esto, porque esa biblioteca carecerá de todas las funciones de administración (cuadrícula de datos y formularios, restricciones de acceso, autenticación) y terminará escribiendo su propio CMS.

Yo apoyaría esta sugerencia. He sido desarrollador de Drupal durante los últimos 7 años. Si bien tiene su parte de frustraciones, hará exactamente lo que usted dice que necesita que haga. Aquí hay una cosa que podría ayudarlo con la conversión: al usar un módulo personalizado que usted mismo escribe, puede usar una devolución de llamada para ejecutar su código PHP arbitrario. Así que no tienes que volver a escribir tu base de código. Simplemente transpórtelo a las devoluciones de llamada, que luego llama con Drupal.