You are here

function commerce_line_item_field_formatter_settings_form in Commerce Core 7

Implements hook_field_formatter_settings_form().

File

modules/line_item/commerce_line_item.module, line 884
Defines the core Commerce line item entity and API functions interact with line items on orders.

Code

function commerce_line_item_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
  $display = $instance['display'][$view_mode];
  $settings = $display['settings'];
  $element = array();
  if ($display['type'] == 'commerce_line_item_reference_view') {

    // Build an options array of Views available for the order contents pane.
    $options = array();

    // Generate an option list from all user defined and module defined views.
    foreach (views_get_all_views() as $name => $view) {

      // Only include line item Views.
      if ($view->base_table == 'commerce_line_item') {
        foreach ($view->display as $display_name => $display) {
          $options[check_plain($name)][$name . '|' . $display_name] = $display->display_title;
        }
      }
    }
    $element['view'] = array(
      '#type' => 'select',
      '#title' => t('Order contents View'),
      '#description' => t('Specify the View to use to display the line items referenced by this field.'),
      '#options' => $options,
      '#default_value' => $settings['view'],
    );
  }
  return $element;
}