floriankarsten/merkur-blocks-loader

Kirby CMS blocks 自动加载器,适用于Merkur或独立使用

安装: 115

依赖: 0

建议: 0

安全: 0

星标: 8

关注者: 2

分支: 0

开放问题: 0

类型:kirby-plugin

0.1.2 2023-06-05 14:49 UTC

This package is auto-updated.

Last update: 2024-09-05 17:18:55 UTC


README

Kirby CMS 插件,用于自动从文件夹(默认 site/blocks)加载块。用于组织。这是Merkur的一部分,但也可以独立使用。

Kirby 默认为 "example" 块使用文件 site/blueprints/blocks/example.ymlsite/snippets/blocks/eample.php,此插件增加了使用 site/blocks/example/example.ymlsite/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.ymlsite/blocks/example/example.yml,则默认的 site/blueprints/blocks/example.yml 将被使用。

想法

  • 如何使缓存更好?
  • 从多个位置加载?