選択した子カテゴリーのみを取り出す方法は?

私はいくつかの親と、複数の子を持つ子カテゴリを持っています。

エントリーでは、私はカテゴリーフィールドを持っています。ここでは、次のように表示される単一の子カテゴリー(Bourbon)を選択しました。

enter image description here

今私は、ブルボンである唯一の選択された単一の子カテゴリのタイトルとURLを表示したいと思います。

ベストアンサー

なぜクラフトがそのように働いているのか分かりませんし、自分のやり方がそれを解決しようとしているのかどうかはわかりませんが、それは少なくとも私にとってはうまくいきます。あなたに最適なものを選択してください。通常、最高のものが第3のものです。

First solution
If you have a limitation in your field how many categories you can
link the .last() function would suit since your child
is always the last element and your parent is the first one.

{% set category = entry.fieldHandle.last() %}

しかし、これは、あなたが複数のカトリックを関連付けるつもりなら、うまくいきません

Second Solution
If your selected categories are always at level 2 and never at
level 1 you can do the following. This works for multiple
categories as well

{% set categories = entry.fieldHandle.level(2).all() %}
{% for category in categories %}
    {{ category.id }}
    {{ category.title }}
{% endfor %}

Third solution
Change your matrix structure into two different channels (countries
and continent) and relate your continent with your countries. In
your relation field you restrict the selection to those two groups.
That way a user can select the country and/or a continent
individually.

返信を残す

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