nystudio107 / eagerbeaver
允许您按需从模板中自动注入的 Entry 元素加载元素。
Requires
- composer/installers: ~1.0
This package is auto-updated.
Last update: 2024-08-29 04:58:44 UTC
README
已弃用
此 Craft CMS 2.x 插件不再受支持,但它功能齐全,您可以按需继续使用。许可证还允许您将其分叉并对旧版支持进行必要的修改。
此插件的 Craft CMS 3.x 版本可在此处找到:craft-eagerbeaver,并且可以通过 Craft 控制面板中的 Craft 插件商店进行安装。
Craft CMS 的 Eager Beaver 插件
允许您按需从模板中自动注入的 Entry 元素加载元素。
安装
要安装 Eager Beaver,请按照以下步骤操作
- 下载并解压缩文件,将
eagerbeaver
目录放置到您的craft/plugins
目录中 - -或者- 直接在
craft/plugins
文件夹中执行git clone https://github.com/nystudio107/eagerbeaver.git
。然后您可以使用git pull
更新它 - -或者- 使用 Composer 通过
composer require nystudio107/eagerbeaver
进行安装 - 在 Craft 控制面板的“设置”>“插件”下安装插件
- 插件文件夹应命名为
eagerbeaver
,以便 Craft 能够识别。GitHub 最近开始在 zip 文件下载的文件夹名称中添加-master
(分支名称)。
Eager Beaver 在 Craft 2.6.x 上运行。
Eager Beaver 概述
Craft 的 Eager-Loading Elements 允许您通过告诉 Craft 在一个大的查询中加载所有需要的元素来优化模板。
但是,您无法为自动注入到模板中的 entry
、category
或 product
元素指定此 eager loading 行为。
Eager Beaver 是一个小型插件,允许您将这些自动注入元素(如 Assets、Categories、Users 等)的子元素 eager load。
这对于您有使用 Matrix 块“内容构建器”的页面特别有用,这通常会导致加载多个关系,例如 Matrix 块中包含的 Assets,以渲染页面。
配置 Eager Beaver
无需配置。
使用 Eager Beaver
要使用 Eager Beaver,只需做类似以下操作
{% do eagerLoadElements(entry, [
'author.userPicture',
'blogCategory',
'blogImage',
'blogContent.image:image'
]) %}
或者,您可以使用更详细的语法做同样的事情
{% do craft.eagerBeaver.eagerLoadElements(entry, [
'author.userPicture',
'blogCategory',
'blogImage',
'blogContent',
'blogContent.image:image'
]) %}
第一个参数是要将子元素 eager-load 到的 Element 或 Element 数组,例如一个 entry
。如果您传递一个 Element 数组,它们必须是同一类型。
第二个参数与用于 Eager-Loading Elements 的 with:
相同,并使用完全相同的语法。
在上面的示例中
author
是一个添加了名为userPicture
的 Assets 字段的User
。blogCategory
是一个 Category 字段blogImage
是一个 Asset 字段blogContent
是一个 Matrix 字段,它添加了一个名为image
的 Assets 字段到image
块类型
Eager Beaver 路线图
一些待办事项,以及潜在功能的想法
- 发布它
由nystudio107提供