nystudio107/eagerbeaver

此包最新版本(1.0.1)没有提供许可证信息。

允许您按需从模板中自动注入的 Entry 元素加载元素。

资助包维护!
khalwat

安装: 1,545

依赖: 0

建议者: 0

安全: 0

星标: 25

关注者: 5

分支: 1

开放问题: 0

类型:craft-plugin

1.0.1 2017-09-30 16:35 UTC

This package is auto-updated.

Last update: 2024-08-29 04:58:44 UTC


README

No Maintenance Intended

已弃用

此 Craft CMS 2.x 插件不再受支持,但它功能齐全,您可以按需继续使用。许可证还允许您将其分叉并对旧版支持进行必要的修改。

此插件的 Craft CMS 3.x 版本可在此处找到:craft-eagerbeaver,并且可以通过 Craft 控制面板中的 Craft 插件商店进行安装。

Craft CMS 的 Eager Beaver 插件

允许您按需从模板中自动注入的 Entry 元素加载元素。

Screenshot

相关:Craft 3.x 的 Eager Beaver

安装

要安装 Eager Beaver,请按照以下步骤操作

  1. 下载并解压缩文件,将 eagerbeaver 目录放置到您的 craft/plugins 目录中
  2. -或者- 直接在 craft/plugins 文件夹中执行 git clone https://github.com/nystudio107/eagerbeaver.git。然后您可以使用 git pull 更新它
  3. -或者- 使用 Composer 通过 composer require nystudio107/eagerbeaver 进行安装
  4. 在 Craft 控制面板的“设置”>“插件”下安装插件
  5. 插件文件夹应命名为 eagerbeaver,以便 Craft 能够识别。GitHub 最近开始在 zip 文件下载的文件夹名称中添加 -master(分支名称)。

Eager Beaver 在 Craft 2.6.x 上运行。

Eager Beaver 概述

Craft 的 Eager-Loading Elements 允许您通过告诉 Craft 在一个大的查询中加载所有需要的元素来优化模板。

但是,您无法为自动注入到模板中的 entrycategoryproduct 元素指定此 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 Elementswith: 相同,并使用完全相同的语法。

在上面的示例中

  • author 是一个添加了名为 userPicture 的 Assets 字段的 User
  • blogCategory 是一个 Category 字段
  • blogImage 是一个 Asset 字段
  • blogContent 是一个 Matrix 字段,它添加了一个名为 image 的 Assets 字段到 image 块类型

Eager Beaver 路线图

一些待办事项,以及潜在功能的想法

  • 发布它

nystudio107提供