2010-11-19 2 views
0

Ich möchte erstellen, dann regelmäßig Inhalt in einem konkreten CMS 5 ersetzen.Was ist die Reihe von mySQL-Anweisungen, die ausgeführt werden müssen, um eine Seite programmatisch zu Concrete5 hinzuzufügen?

Ich habe 15 Tabellen identifiziert, die geändert werden, wenn eine neue Seite hinzugefügt wird (indem ein MYSQL-Vergleich durchgeführt wird).

Allerdings ich nicht ganz folgen, wie diese Tabellen ihre Werte erhalten, vor allem die bID-Wert in btcontentlocal.

Ich habe concrete5 heute nur entdeckt, wenn Sie also wissen, dass es eine API gibt, um Inhalte ins Backend zu posten, teilen Sie das bitte auch mit mir!

Antwort

0

Concrete5 ersetzt normalerweise nicht den Inhalt, sondern fügt dem Verlauf einer Seite eine neue Revision hinzu (aus historischen Gründen wird eine Seite im Code und in der Datenbank oft als "Sammlung" bezeichnet) - wie in "einer Sammlung von Blöcken"). Die bID ist die Block-ID, die sich jedes Mal ändert, wenn ein Block bearbeitet wird (weil der Block nicht wirklich bearbeitet wird, sondern der Block in einen neuen kopiert wird, so dass der alte für den Revisionsverlauf bleibt) .

Also ... nicht sicher, was genau Sie versuchen, aber wenn Sie einen Inhaltsblock aktualisieren möchten, der auf einer Seite ist, müssen Sie eine neue Sammlungsversion erstellen (die implizit alle vorhandenen Blöcke enthält) weiterleiten), dann kopiere den fraglichen Block (ich denke, dass es zu diesem Zweck eine "Kopie" - oder "Klon" -Methode im Blockmodell gibt), aktualisiere dann den Inhalt dieses Blocks und entferne dann den alten Block von der neuen Auflistungsversion , dann weisen Sie den neuen Block der neuen Collection-Version zu und genehmigen/veröffentlichen Sie die neue Collection-Version.

Ich würde dringend davon abraten, dies über Datenbankabfragen zu tun - Concrete5 ist ein sehr komplexes System und es gibt viele Kleinigkeiten, die Sie nicht versehentlich aus dem Prozess lassen wollen. Der bessere Ansatz besteht darin, herauszufinden, wie man es durch die Modelle selbst macht. Leider glaube ich nicht, dass es eine einfache API-Funktion für all dies gibt - stattdessen müssen Sie die 5 oder 6 verschiedenen Dinge herausfinden, die erledigt werden müssen. Sie könnten mehr Glück haben, wenn Sie diese Frage in den concrete5-Foren stellen: http://www.concrete5.org/community/forums/customizing_c5/

+0

ich das concrete5 System erstellt haben eine Liste von SQL zu aktualisieren, die auf noch nicht erprobt ist - es dauerte eine lange Zeit, es durch zu folgen, mit Mysql Diff-Tool. Ich bevorzuge es sehr, die concrete5-Modelle zu verwenden und danke, dass du mich in diese Richtung gelenkt hast. Ich plane zunächst 250 Seiten Inhalt zu erstellen, und habe dann die Möglichkeit, es einmal wöchentlich automatisch zu aktualisieren. –

Verwandte Themen