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を返します。