function party_preprocess_entity in Party 7
Same name and namespace in other branches
- 8.2 party.module \party_preprocess_entity()
Implements hook_preprocess_HOOK().
Add our own template for party display.
File
- ./
party.module, line 950 - Provides a generic CRM party entity.
Code
function party_preprocess_entity(&$variables) {
if ($variables['view_mode'] == 'party') {
$entity_type = $variables['entity_type'];
$entity = $variables['elements']['#entity'];
list($eid, ) = entity_extract_ids($entity_type, $entity);
$party_id = $entity->party_attaching_party;
// @todo: clean this up -- having to load up the controller all over
// again when we probably had it at some earlier point is just messy.
$data_set_name = party_get_entity_data_set($entity_type, $entity);
$data_set_controller = party_load($party_id)
->getDataSetController($data_set_name);
// Load the entities.
$data_set_controller
->getEntities();
//$attached_entity->setAttachedEntity($eid);
// Add the attached entity actions to the build content.
// @todo: change these to contextual links?
// Links broken: http://drupal.org/node/1600816
$variables['content']['party_actions'] = array(
'#theme' => 'links',
'#links' => $data_set_controller
->getActions($party_id, $eid),
'#attributes' => array(
'class' => array(
'links inline crm-set-action-links',
),
),
'#weight' => 100,
);
// @todo This would be better off as a new feature in Entity API
$variables['theme_hook_suggestions'][] = 'entity__all__party';
// @todo Hmmmm how do we let hook_theme() know about this?
$variables['theme_hook_suggestions'][] = 'entity__' . $entity_type . '__all__party';
}
}