子主题提供了主题继承的可能性。 这样做的一个很好的用途是,当你有一个第三方主题或一个处于只读模式的主题时。 子主题会引用一个父主题,并将其用作备用来源。
如果一个名为home.htm的页面存在于父主题中但不存在于子主题中, 它会将其视作存在一样处理; URL是活跃的, 并且你可以像往常一样打开该页面. 当在后端区域保存该页面时, 一个新文件会在子主题中被创建, 以覆盖其内容.
要为主题启用此功能,导航到 设置 → 前端主题,选择 编辑属性 并从 父主题 下拉列表中选择一个父主题。
当使用 Composer 从第三方安装主题时,需要注意的是,当主题更新时,所有文件都可能被覆盖。这可能导致对主题所做的任何自定义丢失。作为一种安全机制,包含一个名为 .themelock 的文件,以保护主题免受系统更新期间可能丢失的任何更改。
当文件 .themelock 存在于主题目录中时:
theme:copy 命令可用于创建新主题,包括子主题。以下命令通过复制目录及其内容,从源主题 demo 创建一个名为 demo-copy 的新主题。.themelock 文件在此过程中将被删除。
php artisan theme:copy demo demo-copy要创建一个继承父主题的子主题,请指定 --child 选项。
php artisan theme:copy demo demo-child --child