有没有办法在撇号中通过CSV导入页面

时间:2017-10-03 17:40:00

标签: apostrophe-cms

我知道撇号 - 碎片 - 导入器适用于碎片,只是想知道是否有办法通过CSV导入页面和内容。我计划屏蔽废弃旧网站并将其迁移到撇号中。

2 个答案:

答案 0 :(得分:0)

目前还没有。然而,DIY并不难。如果你看看MongoDB,你会发现一个页面就像你希望的那样简单。将媒体导入为撇号附件是最具挑战性的一点。如果您查看apostrophe-legacy-import模块,您将找到我们的代码,用于将内容从0.5迁移到2.x,其中涵盖了该用例,并且可以为您的目的非常有利地借用。

最重要的一点就是理解页面之间的关系如何运作。每个页面都有slugpathslug是您在地址栏中看到的内容,但path表示该网页与其他网页之间的真实关系。

主页的path设置为/,其直接子级可能为/about/contact等。他们的子级将为{{1} },/about/people等等。这些将保持不变,始终包含父作为前缀的路径,即使最终用户为了简洁而编辑了slug。

此外,每个页面都有/about/services属性。这表示其在同一父母的子女中的等级,从rank开始。

最后,0属性表示网站内页面的深度。主页始终为level级别。从技术上讲,这可以复制您可以从0解析的信息,但是当您想要快速了解页面的深度时,它会更加方便。

此外,所有页面(以及一般的所有文档)都将具有唯一的path,它应该是一个字符串(我们建议您使用_id,绝不使用自动生成的MongoDB ID)。它们也会有一个apos.utils.generateIdtitle至少应该是一个数组,即使它是空的。

还包括哪些内容取决于您;您可以检查mongodb中的任何文档以查看区域的表示方式,并且架构字段更加直接。

答案 1 :(得分:0)

此问题的正确答案已更改-您现在应该使用apostrophe-headless模块(https://github.com/apostrophecms/apostrophe-headless)才能通过REST API创建内容,然后在生产时删除该模块。

还有其他选择,包括用于作品的CSV导入,但是AFAICT仅用于作品,不适用于页面和附件,而无撇号似乎很全面。

唯一需要注意的是所有字段都必须在模块的addFields中定义,因此某些教程建议您仅添加一个带有富文本的区域(例如),这是不够的,因为无头的人不知道它在那里-而是使用apostrophe-custom-pages的示例来实现addFields

手动创建数据库条目是一项艰巨的工作,当您看到apostrophe-headless与手动编辑相比创建的记录时,您会发现很多工作正在进行中-图像和附件对于解决这些问题特别具有挑战性密码。