Drupal 7
Tôi không biết điều này có giúp bạn trực tiếp không, nhưng tôi đã tìm thấy đoạn mã này trên DropBucket và nó đã giúp tôi làm điều gì đó tương tự:
/**
* Implements hook_preprocess_entity().
*/
function wwvs_slices_preprocess_entity(&$variables) {
if ($variables['entity_type'] == 'paragraphs_item') {
$edge = field_get_items('paragraphs_item', $variables['paragraphs_item'], 'field_edge');
if ($edge && $edge[0]['value']) {
$variables['classes_array'][] = 'slice--edge';
}
}
}
Trong usecase của tôi, tôi muốn tăng thực thể đoạn bằng ID bằng phiên bản an toàn url của trường tiêu đề được sử dụng trong đoạn đó. Đây là cách thực hiện của tôi:
/**
* Implements hook_preprocess_entity().
*/
function foo_preprocess_entity(&$variables) {
if ($variables['entity_type'] == 'paragraphs_item') {
if(isset($variables['elements']['pp_title']['#items'][0]['value'])){
$title = $variables['elements']['pp_title']['#items'][0]['value'];
$title = strtolower(drupal_clean_css_identifier($title));
$variables['attributes_array']['id'] = $title;
}
}
}
Tôi hy vọng điều này là hữu ích!