function entityreference_view_widget_rows in Entity Reference View Widget 7.2
Returns a renderable array for multiple field values.
3 calls to entityreference_view_widget_rows()
- entityreference_view_widget_ajax in ./
entityreference_view_widget.module - Ajax callback to transform selected entity IDs into table rows.
- entityreference_view_widget_field_widget_form in ./
entityreference_view_widget.module - Implements hook_field_widget_form().
- entityreference_view_widget_validate in ./
entityreference_view_widget.module - Pushes input values to form state.
1 string reference to 'entityreference_view_widget_rows'
- entityreference_view_widget_ajax in ./
entityreference_view_widget.module - Ajax callback to transform selected entity IDs into table rows.
File
- ./
entityreference_view_widget.module, line 461 - Entityreference view widget module.
Code
function entityreference_view_widget_rows($entity_ids, $settings) {
$rows = array();
$entities = entity_load($settings['target_type'], $entity_ids);
if (empty($entity_ids) || empty($entities)) {
return $rows;
}
$max_delta = count($entities);
$weight_options = drupal_map_assoc(range(-$max_delta, $max_delta));
$delta = 0;
foreach ($entities as $entity_id => $entity) {
$frontend_id = drupal_html_id('edit-' . $settings['element'] . '-' . $settings['langcode'] . '-' . $delta);
if (!empty($settings['rendered_entity'])) {
$entity_view = entity_view($settings['target_type'], array(
$entity,
), $settings['view_mode']);
$suffix = drupal_render($entity_view);
}
else {
$label = entity_label($settings['target_type'], $entities[$entity_id]);
$suffix = check_plain($label);
}
$name = $settings['element'] . '[' . $settings['langcode'] . '][' . $delta . ']';
$rows[] = array(
$settings['column'] => array(
'#type' => 'checkbox',
'#delta' => $delta,
'#field_suffix' => '<label class="option" for="' . $frontend_id . '">' . $suffix . '</label>',
'#return_value' => $entity_id,
'#value' => $entity_id,
'#title_display' => 'after',
'#name' => $name . '[' . $settings['column'] . ']',
'#attributes' => array(
'checked' => 'checked',
'id' => $frontend_id,
'data-delta' => $delta,
'class' => array(
'entityreference-view-widget-checkbox',
),
),
),
// For some reasons, when using the weight element, when submitting the
// modal form the element is not displayed.
'_weight' => array(
'#type' => 'select',
'#options' => $weight_options,
'#title' => t('Weight'),
'#value' => $delta,
'#title_display' => 'invisible',
'#name' => $name . '[_weight]',
'#attributes' => array(
'id' => $frontend_id . '-weight',
'class' => array(
drupal_html_class($settings['element'] . '-delta-order'),
),
),
),
);
$delta++;
}
// Allow other modules to alter the rows.
drupal_alter('entityreference_view_widget_rows', $rows, $entities, $settings);
return $rows;
}