如何在liquid shopify中生成随机数?

Aja*_*iya 2 liquid shopify

如果逻辑包含日期对象,请注意,该值将是上次从模板生成页面的当前时间,而不是当页面呈现给用户时(如果按照 Shopify 文章涉及缓存或静态站点生成)。它每次都会返回相似的数字。

Tim*_*olo 6

您可以使用时间戳来获取较大的数字,并使用数学来获取看似随机的结果。例如,获取 0 到 100 之间的随机数:

{% assign randomNumber = "now" | date: "%N" | modulo: 100 %}
Run Code Online (Sandbox Code Playgroud)

(请记住,这将生成一个介于 0 到 99 之间的整数。)

或者 10 到 20 之间的随机数:

{% assign min = 10 %}
{% assign max = 20 %}
{% assign diff = max | minus: min %}
{% assign randomNumber = "now" | date: "%N" | modulo: diff | plus: min %}
Run Code Online (Sandbox Code Playgroud)

注意: Liquid 文件会被缓存,因此随机数仅在页面创建时生成,并且不会在您每次查看页面时更改。为此,你需要 JavaScript。