public function Registration::buildContent in Entity Registration 8.2
Same name in this branch
- 8.2 lib/registration.entity.inc \Registration::buildContent()
- 8.2 src/Registration.php \Drupal\registration\Registration::buildContent()
Same name and namespace in other branches
- 7.2 lib/registration.entity.inc \Registration::buildContent()
- 7 lib/registration.entity.inc \Registration::buildContent()
Build content for Registration.
Return value
array Render array for a registration entity.
File
- lib/
registration.entity.inc, line 47 - Entity hooks and callbacks for registrations.
Class
- Registration
- Main class for Registration entities.
Code
public function buildContent($view_mode = 'full', $langcode = NULL) {
$build = parent::buildContent($view_mode, $langcode);
$wrapper = entity_metadata_wrapper('registration', $this);
$host_entity_type_info = \Drupal::entityManager()
->getDefinition($this->entity_type);
$host_entity = $wrapper->entity
->value();
$state = $wrapper->state
->value();
$author = $wrapper->author
->value();
$registrant_type = $wrapper->registrant
->type();
$registrant = $wrapper->registrant
->value();
list(, , $host_entity_bundle) = entity_extract_ids($this->entity_type, $host_entity);
$host_label = $host_entity
->label();
$host_uri = $host_entity ? entity_uri($this->entity_type, $host_entity) : NULL;
$build['mail'] = array(
'#theme' => 'registration_property_field',
'#label' => t('Email Address'),
'#items' => array(
array(
'#markup' => $wrapper->registrant_mail
->value(),
),
),
'#classes' => 'field field-label-inline clearfix',
);
// Link to host entity.
$host_entity_link_label = isset($host_entity_type_info['bundles'][$host_entity_bundle]['label']) ? '<div class="field-label">' . $host_entity_type_info['bundles'][$host_entity_bundle]['label'] . '</div>' : '';
// @FIXME
// l() expects a Url object, created from a route name or external URI.
// $build['host_entity_link'] = array(
// '#theme' => 'registration_property_field',
// '#label' => $host_entity_link_label,
// '#items' => array(
// array(
// '#markup' => l($host_label, $host_uri['path']),
// ),
// ),
// '#classes' => 'field field-label-inline clearfix',
// );
$build['created'] = array(
'#theme' => 'registration_property_field',
'#label' => t('Created'),
'#items' => array(
array(
'#markup' => format_date($this->created),
),
),
'#classes' => 'field field-label-inline clearfix',
);
$build['updated'] = array(
'#theme' => 'registration_property_field',
'#label' => t('Updated'),
'#items' => array(
array(
'#markup' => format_date($this->updated),
),
),
'#classes' => 'field field-label-inline clearfix',
);
$build['spaces'] = array(
'#theme' => 'registration_property_field',
'#label' => t('Slots Used'),
'#items' => array(
array(
'#markup' => $this->count,
),
),
'#classes' => 'field field-label-inline clearfix',
);
if ($author) {
// @FIXME
// theme() has been renamed to _theme() and should NEVER be called directly.
// Calling _theme() directly can alter the expected output and potentially
// introduce security issues (see https://www.drupal.org/node/2195739). You
// should use renderable arrays instead.
//
//
// @see https://www.drupal.org/node/2195739
// $build['author'] = array(
// '#theme' => 'registration_property_field',
// '#label' => t('Author'),
// '#items' => array(
// array(
// '#markup' => theme('username', array('account' => $author)),
// ),
// ),
// '#classes' => 'field field-label-inline clearfix',
// '#attributes' => '',
// );
}
// @FIXME
// theme() has been renamed to _theme() and should NEVER be called directly.
// Calling _theme() directly can alter the expected output and potentially
// introduce security issues (see https://www.drupal.org/node/2195739). You
// should use renderable arrays instead.
//
//
// @see https://www.drupal.org/node/2195739
// $build['registrant'] = array(
// '#theme' => 'registration_property_field',
// '#label' => t('Registrant'),
// '#items' => array(
// array(
// '#markup' => theme('registration_registrant_link', array(
// 'registrant_type' => $registrant_type,
// 'registrant' => $registrant,
// )),
// ),
// ),
// '#classes' => 'field field-label-inline clearfix',
// '#attributes' => '',
// );
$build['state'] = array(
'#theme' => 'registration_property_field',
'#label' => t('State'),
'#items' => array(
array(
'#markup' => $state ? \Drupal\Component\Utility\Xss::filterAdmin($state
->label()) : '',
),
),
'#classes' => 'field field-label-inline clearfix',
);
return $build;
}