【问题标题】:Blog Template isn't overridden博客模板未被覆盖
【发布时间】:2014-07-26 09:57:52
【问题描述】:

我必须更改 SilverStripe 博客模块的模板。

我可以在 blog/templates 目录中执行此操作,但是当我想更新此模块时,我的更改会丢失。

我在这里阅读了有关模板覆盖的信息:http://doc.silverstripe.org/framework/en/topics/theme-development

页面说通过在目录\mysite\templates\Layout 中创建文件BlogHolder.ss 应该覆盖博客模块中的模板。这是行不通的。然而,CSS 可以工作并被覆盖。

我该如何解决这个问题?

【问题讨论】:

  • 将文件放在\mysite\templates\Layout 应该可以。确保您致电?flush=all

标签: silverstripe


【解决方案1】:

您应该将您的主题放在与您的项目不同的目录中。您真正应该放入项目文件夹的唯一模板是可以被主题覆盖的默认模板。

SilverStripe 查找模板的顺序是:

  • 子主题
  • 主题
  • 模块文件夹(博客)
  • 项目文件夹 (mysite)

您的 BlogHolder.ss 文件应放在 /themes/mytheme/templates/Layout/BlogHolder.ss

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 2021-09-10
    • 2017-11-06
    • 2018-05-24
    • 1970-01-01
    相关资源
    最近更新 更多