【问题标题】:How do I migrate templates to a new subdirectory?如何将模板迁移到新的子目录?
【发布时间】:2019-08-13 22:19:28
【问题描述】:

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

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

但是,现在我想添加其他模板(例如一次性营销页面)。为了让我的灯光模块井井有条,我想将我的博客模板移动到“博客”子目录中:

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

如果我只是将模板移动到一个新的“博客”子目录中,我将收到“未知模板”页面错误并破坏我的博客。这是因为页面通过路径引用模板:

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

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

【问题讨论】:

    标签: magnolia


    【解决方案1】:

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

    第 1 步:复制和弃用模板

    复制当前模板并将它们移动到新的“博客”子目录中。

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

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

    例如:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-20
      • 2015-10-22
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多