Inhaltsverwaltung für bestehende PHP-Projekte

In einem bestehenden Projekt, das als komplette kundenspezifische Lösung entwickelt wird, stehen wir vor der Notwendigkeit eines Content-Management-Systems (sowohl für uns als auch für den Kunden). Unsere aktuellen generischen Bedürfnisse sind (in der WordPress-Terminologie):

  • Erstellen Sie benutzerdefinierte Beitragstypen und Taxonomien (übersetzbar und versioniert).
  • Greifen Sie auf bestimmte Inhalte über eine programmierbare API zu (z. B. erhalten Sie alle Artikel bestimmter Beitragstypen)
  • Verwaltung für gegebenen Beitragstyp (Datagrid + Formulare)

Folgende Optionen in Betracht gezogen:

  1. Verwenden Sie "Standard"-CMS (Drupal, Wordpress) - scheint unmöglich, da sie zu eigenständig erscheinen, um nur einen Teil davon zu verwenden, was hauptsächlich eine vollständige Neuschreibung unserer aktuellen Codebasis erfordern würde (was unmöglich ist).
  2. Schreiben Sie eine solche Funktionalität passend zum Projekt - nicht so abstrakt, aber nicht wiederverwendbar.
  3. Bibliothek, die die beschriebene Funktionalität bereitstellt, einfach die Beitragstypen, Taxonomien ... installieren und konfigurieren - wäre perfekt, aber bisher nicht gefunden. ( Symfony CMF scheint dies zu können, schwer aus der Dokumentation zu sagen).

Fragen:

  1. Gibt es ein CMS mit beschriebener Funktionalität, das in ein bestehendes Projekt integriert werden könnte?
  2. Gibt es eine Bibliothek, die die beschriebene Funktionalität bereitstellt?

Hinweis: zuvor auf https://stackoverflow.com/questions/42230616/content-management-for-existing-php-project gestellt , da ich es für eine eher programmierungsbezogene Frage hielt.

Sie sind sich nicht sicher, wonach Sie fragen? Sie haben bereits ermittelt, was Sie brauchen und die möglichen Lösungen dafür (WordPress/Drupal usw.). Was ist das Problem, das Sie haben, wenn Sie diese in ein bestehendes Projekt integrieren? Wenn Sie nach einer Möglichkeit suchen, Funktionen von WordPress (zum Beispiel) in ein anderes webbasiertes Projekt zu integrieren, werfen Sie einen Blick auf Integration von Wordpress in eine Nicht-Wordpress-Site . Ich habe diese Methode schon einmal verwendet, um WordPress-Beiträge auf einer CMS Made Simple-basierten Website anzuzeigen.

Antworten (1)

Aus dem, was Sie geschrieben haben, würde ich sagen, dass Sie sich Drupal noch einmal ansehen sollten.

  • Sie können Ihre Beitragsinhaltstypen einfach mit benutzerdefinierten Feldnamen, Feldtypen und relationalen Feldern definieren. Sie können jeden Beitrag übersetzen und sein URL-Schema definieren. Das Taxonomiesystem rockt, Sie können Eltern-Kind-Beziehungen, Synonyme, parallele Taxonomien usw. haben.
  • Der Kern von Drupal 8 ist gut strukturiert und könnte theoretisch als Abhängigkeit in Ihr PHP-Projekt aufgenommen werden, in dem nur Teile der Drupal-API verwendet werden können, um programmgesteuert auf die Inhaltsobjekte zuzugreifen (Abfragen, Filtern, Erstellen usw.). Alternativ können Sie die REST-API für den Zugriff verwenden.
  • Die Verwaltung für Beitragstypen kann konfiguriert werden.

Ich würde davon abraten, dafür eine "Bibliothek" zu verwenden, da dieser Bibliothek alle Verwaltungsfunktionen (Datenraster und Formulare, Zugriffsbeschränkungen, Authentifizierung) fehlen und Sie am Ende Ihr eigenes CMS schreiben werden.

Ich würde diesen Vorschlag unterstützen. Ich bin seit 7 Jahren Drupal-Entwickler. Während es seinen Anteil an Frustrationen hat, wird es genau das tun, was Sie sagen, dass Sie es tun müssen. Hier ist eine Sache, die Ihnen bei der Konvertierung helfen könnte: Mit einem benutzerdefinierten Modul, das Sie selbst schreiben, können Sie einen Callback verwenden, um Ihren beliebigen PHP-Code auszuführen. Sie müssen also Ihre Codebasis nicht neu schreiben. Portieren Sie es einfach auf Callbacks, die Sie dann mit Drupal aufrufen.