developion / cache
提供预渲染 Craft Entries 的钩子。
0.6.1
2021-12-13 14:13 UTC
Requires
This package is auto-updated.
Last update: 2024-09-15 08:41:07 UTC
README
为 CraftCMS 中的缓存和预渲染内容提供钩子和实用工具。
这东西的目的是什么?
尽管 CraftCMS 默认提供 HTML 缓存和图像转换,但在第一个访客尝试打开您的页面之前,该内容仍然需要被渲染。当然,您可以在清除缓存或更新内容时刷新页面,但让 CraftCMS 帮您做这件事似乎是一个更好的方法。
- 用于在 twig 模板中渲染响应式图像的灵活语法
- 使用与本地图像相同的语法,在本地存储第三方图像以优化服务
- 可验证的端点,可从外部来源清除缓存
- 用于变量缓存的 twig 函数(不仅是模板!)
安装
通过 Composer 超级简单地进行安装
$ composer require developion/cache
或手动将其添加到您的 composer.json
文件中。
用法
渲染响应式图像 HTML
使用 twig 模板中的 image
函数渲染一个包含基于提供的配置的 webp
/jpg
图像对的 picture
标签。
{{ image(
image = asset,
config = config,
alt = alt,
imageMobile = imageMobile
)|raw }}
image
接受 URL 字符串或 craft\elements\Asset
对象。如果图像已存储在 CMS 中,则不会再次上传。基于文件名。
alt
可选。如果文件名(分割单词)不希望用于 alt,则使用。
imageMobile
工作名称。可选。如果提供,则占用响应集的第一个 source
标签对。
config
包含渲染资产的配置的对象。属性
template
: 要渲染的模板路径。
默认为developion-cache/components/image
。fallback
: 如果传递的图像有问题,则使用的回退模板。htmlAttributes
: 包含键值对的 HTML 属性的对象。params
: 包含图像渲染时的大小定义的对象数组。
如果为空,则没有输出。属性append
: 要添加到文件名末尾的字符串(在扩展名之前)。scaleAndCrop
: 如果size
是对象,则在裁剪之前缩放图像。media
: 每个图像对的媒体查询。size
: 整数或具有整数属性width
和height
的对象。
如果是对象,则使用给定的尺寸裁剪。否则,它会被缩放。
默认为 0(不更改图像大小)
最简单的示例看起来像这样
{{ image(
image = 'www.example.com/image.jpg',
config = {
params: [
{
size: 200
}
]
}
)|raw }}
关于 config
参数的说明
由于 php 函数 array_merge
的工作方式,无法提供默认的 params
数组,而不在所有响应集中都有它。我们正在寻找一种方法来实现这一点,但目前,
关于 raw
过滤器的说明
默认情况下,twig 会转义来自变量和函数的所有 HTML。为了避免这种情况,请使用 |raw
过滤器。
外部来源缓存清除
可以在这个端点找到从外部来源清除缓存的方法
POST <SITE_URL>/cache/clear
该端点的凭据配置在项目 .env
文件中,如下所示
CLEAR_CACHE_USER="basic_auth_username"
CLEAR_CACHE_PASS="basic_auth_password"