floriankarsten / merkur-blocks-loader
Kirby CMS blocks 自动加载器,适用于Merkur或独立使用
Requires
- php: >=7.4.0
- getkirby/cms: >3.6
- getkirby/composer-installer: ^1.1
README
Kirby CMS 插件,用于自动从文件夹(默认 site/blocks
)加载块。用于组织。这是Merkur的一部分,但也可以独立使用。
Kirby 默认为 "example" 块使用文件 site/blueprints/blocks/example.yml
和 site/snippets/blocks/eample.php
,此插件增加了使用 site/blocks/example/example.yml
和 site/blocks/example/example.php
加载的可能性。
安装
composer require floriankarsten/merkur-blocks-loader
或者直接下载仓库并将其放入 site/plugins
如何使用
插件不需要任何额外设置。您可以使用选项 floriankarsten.merkur-blocks-loader.dirname
改变 blocks
目录的名称。您可以使用 floriankarsten.merkur-blocks-loader.cache
关闭缓存。
// Default settings [ 'floriankarsten.merkur-blocks-loader' => [ 'cache' => true, 'dirname' => 'blocks' ], ]
缓存
存在一个非常基础的缓存策略,在选项 debug
= false 时启用。我可能需要想出更好的方法(欢迎建议),但现在它工作得很好。可以通过 floriankarsten.merkur-blocks-loader.cache
=== false
关闭缓存。
加载链
从 plugins
加载的文件 < 从 Blocks Loader
加载的文件 < 从 default
路径加载的文件
当您加载具有相同名称的多个蓝图/模板时,它会被覆盖,最后一个将被使用。Kirby 默认路径放在最后,因此它们将优先于一切。此插件通过 system.loadPlugins:after
钩子加载文件,因此它将优先于从插件加载的文件。例如,如果您同时有 site/blueprints/blocks/example.yml
和 site/blocks/example/example.yml
,则默认的 site/blueprints/blocks/example.yml
将被使用。
想法
- 如何使缓存更好?
- 从多个位置加载?