web-dev-qa-db-ja.com

Twigテンプレートでビューフィールド値を取得する

フィールドの値を取得し、それをビュー表示内の別のフィールドのラッパーのクラスとして使用しようとしています。したがって、基本的に私が必要なのは、最初のフィールドの文字列表現を取得できるようにすることです。フィールドは既にテキストフィールドですが、コンテンツを取得しようとすると、文字列が得られないだけです。これは、2番目のフィールドのクラスとして使用できる必要があるものです。

_{{ fields.[field_name].content }}_を使用してみましたが、twigテンプレートの推奨とデータが一緒に表示されます。getValue()関数を使用してみましたが、返されませんraw twigフィルターを介してデータを渡そうとしましたが、何も返されません。dpmとkintを使用して配列をレンダリングしようとしましたが、どちらも私に方法を提供します多くの情報があり、使用する必要がある配列項目またはオブジェクトに絞り込むことはできません。Drupalを初めて使用するため、DevelとKintを正しく使用せずに、を探しています。

コンテンツデータを文字列またはそのままのデータとして取得するために使用する必要がある関数はありますか、またはこれを達成するためのその他の方法はありますか?

私はDrupal 8.1を使用しています。

3
chavab_1

field.contentはレンダリングされたフィールドです。そしてビューでは、これはレンダー配列ではなく、最終的にレンダーされたマークアップです。したがって、twig debugのためだけではなく、クラス名として使用することは非常に問題があります。

データベースからのフィールドデータを持つエンティティオブジェクトを見つける行データを使用することをお勧めします。クラス名として使用するには、clean_classを使用してエスケープします。

{{ row._entity.field_myfield.value|clean_class }}
3
4k4

私は{{ fields.[field_name].content }}を使用してみましたが、twigテンプレートの推奨とデータが一緒に表示されます。

これは、twigデバッグがオンになっているためです。twigデバッグをオフにすると、推奨はなくなります。

0
No Sssweat

{{fields。[field_name] .content | striptags | trim}}
これは、パスと画像のURLフィールドを印刷するのに役立ちました

0
Alex