フィールドコレクションアイテムを前処理して、最初と最後のクラス名を追加する適切な方法は何ですか?


回答:


22

通常、これはMYTHEME_preprocess_field_collection_item()で行いますが、フィールドコレクションアイテムには独自の前処理はありません。幸い、これらはエンティティなので、エンティティの前処理を使用して、独自のフィールドコレクションの前処理関数を作成できます。

/**
 * Implements template_preprocess_entity().
 */
function MYTHEME_preprocess_entity(&$variables, $hook) {
  $function = 'MYTHEME_preprocess_' . $variables['entity_type'];
  if (function_exists($function)) {
    $function($variables, $hook);
  }
}

/**
 * Field Collection-specific implementation of template_preprocess_entity().
 */
function MYTHEME_preprocess_field_collection_item(&$variables) {
  $variables['classes_array'][] = 'your-class-here';
  // Plus whatever other preprocessing you want to do.
}

2

Drupalの8前処理関数は、1つを追加することなく存在します。

/**
 * Implements hook_preprocess_field_collection_item().
 */
function mymodule_preprocess_field_collection_item(array &$vars, $hook) {
  //dpm($vars);
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.