web-dev-qa-db-ja.com

Twigを使用して、テンプレートで使用するbodyフィールドの概要を取得するにはどうすればよいですか?

だから私は要約のあるテキストエリアを持っていて、コンテンツの前に要約を表示したいと思います。だから私が{{ content.body }}テキストは要約なしで表示されます。

どうすれば要約を入手できますか?

{{ content.body.summary }}はトリックを行わないようです

10
Sorin

THEME.themeファイルでは、次のように定義することもできます。

function THEME_preprocess_node(&$variables) {
$variables['node_teaser'] = $node_array['body'][0]['summary'];
}

そしてそれを次のように表示します:

{{ node_teaser }}
4
Mike Gifford

私がこれを解決した唯一の方法は:

サマリーの値のみをターゲティングする場合は、現在のエンティティをターゲティングできます。あなたがノード上にいるなら、これを行うことができます:

node.body.summary

段落で

paragraph.field_body.summary

また、次のように要約フロントコンテンツを取得することもできます。

content.body['#object'].body.summary

すばらしいとは言えませんが、今のところは十分です。

18
Sorin

4k4が書いた(そして2018年に更新された)ものを基にするには:

まず、フィールドのフォーマット方法を選択してから、印刷します。

1)[構造]> [コンテンツタイプ]> [コンテンツタイプ]> [ディスプレイの管理]> [ビューモード]に移動します。

2)[フォーマッタ]列で、[要約またはトリミング]を選択します。

3)保存します。

4)twigファイルで、{{body}}を印刷できるはずです(これは私にとってはうまくいきますが、間違っていれば修正して更新します)。

これは、Viewブロックでノードを使用する場合に機能し、ノードでも機能するはずです。

1
ojorojo

私はそれを使うだけでうまくいきました

{{ content.field_description['#items'][0].summary }}

ここで、私の説明フィールドはfield_descriptionです

0
NKP