web-dev-qa-db-ja.com

カスタムコンテンツタイプのフィールドにスタイルを設定する方法

Drupal 8を使用していて、カスタムコンテンツタイプを作成しました。このコンテンツタイプをpage--mycontenttype.htmlで「スタイル設定」できることを理解しました。 .twigそしてmytheme.themeにこのコードを追加すると:

function mythemename_theme_suggestions_page_alter(array &$suggestions, array $variables) {

  if ($node = \Drupal::routeMatch()->getParameter('node')) {
    $content_type = $node->bundle();
    $suggestions[] = 'page__'.$content_type;
  }
}

しかし、これを使用すると、カスタムコンテンツタイプのページのみをスタイル設定でき、そのフィールドはスタイル設定できません。私はこれを試してみましたが、うまくいきません:

{{ node.field_body.value }}
{{ node.field_title.value }}
2
ZeroByte

本文とタイトルには接頭辞field_がありません。これは機能するはずです。

{{ node.body.value }}
{{ node.title.value }}

しかし、ページレベルでフィールドのスタイルを設定するための好ましい方法ではありません。データベースのフィールド値にアクセスすると、基本的にノードオブジェクトにアクセスするときに、生の値が取得されます。セキュリティ上の理由から、twigによってエスケープされます。書式設定なしでは、 drupalにフィールドタイプごとに統合されており、追加のモジュールで簡単に拡張できます。

カスタムコンテンツタイプのフィールドをスタイルするには、次の場所に移動します。

admin/structure/types/manage/mycontenttype/display

UIでフィールドに必要なすべてのオプションを見つけることができない場合は、フィールドtwigのコピーを作成し、そこに変更を適用できます。

field--field-myfield.html.twig
1
4k4