子主题提供了主题继承的可能性。这种做法的一个好例子是,当你使用第三方主题或者主题处于只读模式时。子主题会引用一个父主题,并将其用作回退源。
如果父主题中存在名为 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