Concrete5 CMSのコンテンツを作成し、定期的に置き換えたいと思います。
新しいページが追加されたときに変更される15個のテーブルを特定しました(MYSQL差分を実行することによって)。
ただし、これらのテーブルがどのように値、特にbtcontentlocalのbID値を取得しているかについてはよくわかりません。
今日はconcrete5しか発見しなかったので、バックエンドにコンテンツを投稿するためのAPIがあることを知っているなら、それも私と共有してください!
このドキュメントを参照してください。http://www.concrete5.org/documentation/developers/pages/overview
C5セルフのコードを使用してページを追加できます;)
Concrete5 は通常、コンテンツを「置換」するのではなく、ページの履歴に新しいリビジョンを追加します (歴史的な理由から、ページはコードとデータベースで「コレクション」と呼ばれることが多いことに注意してください。 「ブロックのコレクション」)。bID はブロック ID であり、ブロックが編集されるたびに変更されます (繰り返しますが、実際にはそこにあったブロックを編集するのではなく、そのブロックを新しいブロックにコピーして、古いブロックが改訂履歴のために残ります)。 .
だから...あなたが何をしようとしているのか正確にはわかりませんが、ページ上のコンテンツブロックを更新したい場合は、新しいコレクションバージョンを作成する必要があります(これにより、既存のすべてのブロックが暗黙的に引き継がれると思います)。問題のブロックをコピーし(この目的のためにブロックモデルに「コピー」または「クローン」メソッドがあると思います)、そのブロックのコンテンツを更新し、新しいコレクションバージョンから古いブロックの割り当てを解除してから、新しいブロックを新しいコレクション バージョンに変更してから、新しいコレクション バージョンを承認/公開します。
データベース クエリを介してこれを実行しないことを強くお勧めします。Concrete5 は非常に複雑なシステムであり、プロセスから誤って除外したくない小さなことがたくさんあります。より良いアプローチは、モデル自体を通じてそれを行う方法を理解することです。残念ながら、これらすべてを実行するための単純な API 関数は 1 つではないと思います。代わりに、実行する必要がある 5 つまたは 6 つの異なることを把握する必要があります。具体的な 5 フォーラムでこの質問をすると、もっとうまくいくかもしれません: http://www.concrete5.org/community/forums/customizing_c5/