0

tl;博士

在 OrchardCMS 中,有没有办法自动将 BodyPart 的内容迁移到 LayoutPart 中?如果是这样,怎么办?

细节

我正在升级使用旧 BodyPart 的旧 Orchard 实例 (v1.8.x)。目标是将 OrchardCMS 更新到当前版本,并使用它迁移到 v1.9 中添加的新布局系统。启用 Layout 模块会将 LayoutPart 添加到 Page 等内容项中,但是这两个部分都存在于 Content Definition 中,并且将内容从 BodyPart 移动到 LayoutPart 似乎是一个手动过程。有没有办法自动将内容从 BodyPart 迁移到 LayoutPart,即使它嵌套在单个 Grid->Row->Column(12)->HTML 块中?如果是这样,怎么办?

4

1 回答 1

0

我认为您应该能够通过在代码编辑器中进行一些尝试和一些查找和替换来做到这一点。我将使用一个空的新站点并导出两个页面,一个在 BodyPart 中包含内容,另一个在 LayoutPart 中包含您希望它看起来的内容。你应该可以看到它们有什么不同,我最近没有看它们是如何导出的,但我认为正文部分 html 包含在一个非常简单的 xml 标记中,而布局部分包含一些代码来指定所有元素,里面包含html。

下一步是从您的站点导出所有内容(使用导入/导出),并使用一个好的文本编辑器使用查找和替换将所有正文部分转换为布局部分。

最后,将编辑后的文件重新导入站点。

我还没有尝试过任何这些,所以显然有一个方便的数据库备份并首先在开发环境中进行测试。另外,我猜如果您按照上面的说明进行操作,最终会在正文和布局中出现重复的内容,因此您可能希望确保导入的每个页面都有一个空的正文标签。

于 2017-10-05T17:55:46.387 回答