Cách thích hợp để xử lý trước các mục bộ sưu tập trường để thêm tên lớp đầu tiên và cuối cùng là gì?


Câu trả lời:


22

Thông thường bạn sẽ làm điều này trong MYTHEME_pre process_field_collection_item (), nhưng các mục bộ sưu tập trường không có tiền xử lý riêng. May mắn thay, chúng là các thực thể, vì vậy bạn có thể sử dụng tiền xử lý thực thể để tạo chức năng tiền xử lý bộ sưu tập trường của riêng bạn:

/**
 * 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

Trong Drupal 8 , chức năng tiền xử lý tồn tại mà không cần phải thêm một:

/**
 * Implements hook_preprocess_field_collection_item().
 */
function mymodule_preprocess_field_collection_item(array &$vars, $hook) {
  //dpm($vars);
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.