如何将模板迁移到新的子目录?

How do I migrate templates to a new subdirectory?

当我创建我的光模块时,它只是为了为博客提供模板:

templates/
├── components/
└── pages/
    ├── blogArticle.yaml
    ├── blogCategory.yaml
    ├── blogIndex.yaml
    └── blogSearch.yaml

但是,现在我想添加额外的模板(例如一次性营销页面)。为了保持我的光模块有条理,我想将我的博客模板移动到 "blog" 子目录中:

templates/
├── components/
└── pages/
    └── blog/
        ├── article.yaml
        ├── category.yaml
        ├── index.yaml
        └── search.yaml

如果我只是将模板移动到新的 "blog" 子目录中,我将收到 "Unknown Template" 页面错误并破坏我的博客。这是因为页面通过路径引用模板:

mgnl:template -> example-light-module:pages/blogIndex

如何在不破坏现有博客的情况下将模板迁移到新的子目录?

以下步骤应该为您提供一个良好的过程:

第 1 步:复制和弃用模板

复制当前模板并将它们移动到新的 "blog" 子目录中。

通过以下方式弃用当前模板:

  1. 在模板定义标题前添加单词 "DEPRECATED"
  2. 在模板定义中将 visible 设置为 false

例如:

title: DEPRECATED - Blog Article
description: Template for a single blog article.
renderType: site
visible: false

第 2 步:重新分配和发布页面

  1. 部署重复的模板和弃用更改。
  2. 将复制的模板分配给博客页面并发布更改。
  3. 页面成功切换到新模板后,删除已弃用的模板。