カスタムユーザーフィールドからアセットを返す方法

Craft 3では、私の「User」フィールドの1つが、選択可能なアセットを1つ持つアセットタイプフィールド(
‘profilePicture’)です。

URLが次のようになったら、テンプレートをロードするルーティング設定があります。

domain.com/person/firstname-lastname

私のテンプレートでは、適切なユーザーを取得しています:

{% set secondSegment = craft.request.getSegment(2) %}

{% set people = craft.users.group('family') %}

{% for person in people %}
    {% set personName = person.firstName|lower ~ "-" ~ person.lastName|lower %}
    {% if secondSegment == personName %}
        {% set currentUser = person %}
    {% endif %}
{% endfor %}

すべての作品 – 私はほとんどのフィールドを照会することができますが、私は自分の資産を得る方法を考えることができません。

作品:

{{ currentUser.myTextField }}

これらのどれも動作しません(何も返さず、エラーもありません):

1。

{{ currentUser.profilePicture[0].url }}

2。

{% set asset = currentUser.profilePicture.first() %}

{% if asset %}
    {{ asset.getUrl }}
{% endif %}

3。

{% for asset in currentUser.profilePicture %}
    {{ asset.getUrl }}
{% endfor %}
ベストアンサー

ボリューム設定の/admin/settings/assets/volumes/このボリュームのアセットに公開URLがありますというオプションを有効にする必要があります。

このチェックボックスはデフォルトでは無効になっていますので、 getUrl()関数は常に空の文字列/
nullを返します。

返信を残す

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