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 }}
本文とタイトルには接頭辞field_
がありません。これは機能するはずです。
{{ node.body.value }}
{{ node.title.value }}
しかし、ページレベルでフィールドのスタイルを設定するための好ましい方法ではありません。データベースのフィールド値にアクセスすると、基本的にノードオブジェクトにアクセスするときに、生の値が取得されます。セキュリティ上の理由から、twigによってエスケープされます。書式設定なしでは、 drupalにフィールドタイプごとに統合されており、追加のモジュールで簡単に拡張できます。
カスタムコンテンツタイプのフィールドをスタイルするには、次の場所に移動します。
admin/structure/types/manage/mycontenttype/display
UIでフィールドに必要なすべてのオプションを見つけることができない場合は、フィールドtwigのコピーを作成し、そこに変更を適用できます。
field--field-myfield.html.twig