エントリIDを複数回表示するには?

私は家具のラベル用のプリントテンプレートを設定しました。
私は私のクライアントに特殊なLinkを使ってラベルを印刷させました。

/label?ids="x|y|z"

それはすべてうまくいく。今では同じラベルを何度も印刷したいと思っているので、彼と私は以下のことを試しました:

/label?ids="x|x|x|y|z|z|z"

基礎となるコードは次のとおりです。

{% set ids = craft.request.param('ids')| split('|')|join(',') %}
{% set params =
    {
        section: 'furniture',
        limit : null,
        id: ids

    }
%}
{% paginate craft.entries(params) as entries %}
{% for entry in entries %}
     ...
{% endfor %}

これはxとzを1回だけ表示します。

これを回避する方法はありますか?

どんな助けもありがたい。

ベストアンサー

私はこのようなものを書くだろう:

{% set ids = craft.request.param('ids')| split('|') %}
{% for id in ids %}
    {% set entry = craft.entries.id(id).first() %}
    …
{% endfor %}

あるいは、クエリを減らすために、すべてのエントリを変数に格納し、IDをループして、この小さなセットで正しい一致を見つけることができます。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です