0

我希望创建然后定期替换具体5 CMS 中的内容。

我已经确定了 15 个在添加新页面时更改的表(通过执行 MYSQL 差异)。

但是我不太了解这些表是如何获取它们的值的,尤其是 btcontentlocal 中的 bID 值。

我今天才发现concrete5,所以如果你知道有一个API可以将内容发布到后端,也请与我分享!

4

2 回答 2

0

Concrete5 通常不会“替换”内容——相反,它会在页面的历史记录中添加新的修订(请注意,由于历史原因,页面通常在代码和数据库中称为“集合”——如“块的集合”)。bID 是块 id,每次编辑块时都会更改(同样,因为它实际上并没有编辑那里的块,而是将该块复制到新块,以便旧块保留修订历史记录) .

所以......不确定你到底想要做什么,但如果你想更新页面上的内容块,你需要创建一个新的集合版本(我相信它隐含地携带所有现有块),然后复制有问题的块块(我认为块模型中有一个“复制”或“克隆”方法用于此目的),然后更新该块的内容,然后从新集合版本中取消分配旧块,然后分配新的集合版本的新块,然后批准/发布新的集合版本。

我强烈建议不要通过数据库查询来执行此操作——Concrete5 是一个非常复杂的系统,并且有很多小事情正在发生,您不想意外遗漏该过程。更好的方法是通过模型本身弄清楚如何做到这一点。不幸的是,我认为没有一个简单的 API 函数可以完成所有这些工作——相反,您需要弄清楚需要完成的 5 或 6 个不同的事情。如果您在 concrete5 论坛上问这个问题,您可能会更幸运:http: //www.concrete5.org/community/forums/customizing_c5/

于 2010-11-19T23:15:31.140 回答
0

请参阅本文档。http://www.concrete5.org/documentation/developers/pages/overview

您可以使用 C5 self 的代码添加页面;)

于 2011-12-19T22:21:22.923 回答