elivz/craft-transient

将变量存储在Twig代码中,使其在页面加载期间可供其他模板使用。

安装: 822

依赖项: 0

建议者: 0

安全: 0

星星: 6

观察者: 1

分支: 1

开放问题: 1

类型:craft-plugin

1.0.0 2019-03-07 13:11 UTC

This package is auto-updated.

Last update: 2024-09-08 07:28:13 UTC


README

在Twig代码中存储变量,这些变量在页面加载期间可供其他模板使用。这可以用于在多个模板之间共享值或状态。请注意,值只会在设置之后被解析的模板中可用。

页面加载之间不会持久化数据。这仅用于存储在同一个请求中稍后要使用的数据。

示例用例

  • 在包含的模板中设置变量,并从父模板(或布局)中访问它。
  • 多个“相关帖子”区域永远不会显示相同的帖子。将条目ID存储为输出时,并在后续查询中排除它们。
  • 在包含的部分内部增加计数器,然后在最后一个项目之后输出总数。
  • 发挥你的想象力!

要求

此插件需要Craft CMS 3.0.0或更高版本。

安装

要安装此插件,请按照以下说明操作。

  1. 打开您的终端并转到您的Craft项目。然后告诉Composer加载插件

    composer require elivz/craft-transient
    
  2. 在控制面板中,转到设置 → 插件,然后点击“安装”按钮以安装“Transient”。

使用Transient

设置变量

{% do set_transient('title', entry.title) %}

{% do craft.transient.set('title', entry.title) %}

这会将变量存储起来以供以后使用。第一个参数是要存储的键,或键。第二个参数是要保存的值。

输出变量

{{ get_transient('title') }}

{{ craft.transient.get('title') }}

这会获取之前存储的变量。唯一参数是要检索的键。

向变量追加

{% do append_transient('viewed articles', entry.id) %}

{% do craft.transient.append('viewed articles', entry.id) %}

向现有项追加新值。这仅适用于数组和字符串。如果现有值是数组,您可以追加一个简单的字符串值或另一个数组,在这种情况下它们将被合并。

增加变量

{% do increment_transient('times') %}

{% do craft.transient.increment('times') %}

增加计数器。有一个可选的第二个参数,即增量的大小。如果省略,值将增加1。