Drupal 7
Ich weiß nicht, ob dies Ihnen direkt helfen wird, aber ich habe dieses Code-Snippet auf DropBucket gefunden und es hat mir geholfen, etwas Ähnliches zu tun:
/**
* 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';
}
}
}
In meinem Anwendungsfall wollte ich die Absatzentität mit einer ID erweitern, indem ich die url-sichere Version des in diesem Absatz verwendeten Titelfelds verwendete. Hier ist meine Implementierung:
/**
* 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;
}
}
}
Ich hoffe das ist hilfreich!