在后端而不是管理界面上添加页面

Add page on backend not admin interface

我想创建一个扩展 layout.html 的 html 文件,但用户无法通过 CMS 添加任何其他页面的类型。

您可以使用 parked pages 解决此问题。您可以将某些页面配置为始终存在于某些位置,type 属性 是您可以强制设置为特定值的页面之一;无法编辑此类停放的属性。

// app.js
module.exports = {
  modules: {
    'apostrophe-pages': {
      // other configuration, then...
      park: [
        {
          title: 'Special',
          slug: '/special',
          type: 'special',
          published: true,
          parkedId: 'special'
        }
      ]
    }
  }
}

这就是顶级页面所需的全部内容。如果你也需要一个停放的子页面,你 可以将 _children 数组 sub属性 添加到停放的父项中。

一定要包含一个唯一的 parkedId。如果配置以其他方式更改,这可以防止与其他停放页面混淆。

请注意,您 不必 types 选项中包含 special。将它排除在外是您如何确保它不会被任何其他页面选中。

如果停放页面不知何故丢失或更改了其停放属性,则每次启动应用程序时都会刷新停放页面。界面通常也会阻止这种情况。

希望对您有所帮助!