elivz / craft-transient
将变量存储在Twig代码中,使其在页面加载期间可供其他模板使用。
1.0.0
2019-03-07 13:11 UTC
Requires
- craftcms/cms: ^3.0.0
This package is auto-updated.
Last update: 2024-09-08 07:28:13 UTC
README
在Twig代码中存储变量,这些变量在页面加载期间可供其他模板使用。这可以用于在多个模板之间共享值或状态。请注意,值只会在设置之后被解析的模板中可用。
页面加载之间不会持久化数据。这仅用于存储在同一个请求中稍后要使用的数据。
示例用例
- 在包含的模板中设置变量,并从父模板(或布局)中访问它。
- 多个“相关帖子”区域永远不会显示相同的帖子。将条目ID存储为输出时,并在后续查询中排除它们。
- 在包含的部分内部增加计数器,然后在最后一个项目之后输出总数。
- 发挥你的想象力!
要求
此插件需要Craft CMS 3.0.0或更高版本。
安装
要安装此插件,请按照以下说明操作。
-
打开您的终端并转到您的Craft项目。然后告诉Composer加载插件
composer require elivz/craft-transient
-
在控制面板中,转到设置 → 插件,然后点击“安装”按钮以安装“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。