You are here

function commerce_backoffice_product_form_alter in Commerce Backoffice 7

Implements hook_form_views_form_alter().

File

./commerce_backoffice_product.module, line 253

Code

function commerce_backoffice_product_form_alter(&$form, &$form_state, $form_id) {

  // Alter the node edit form to group the categories in a vertical tab.
  if (isset($form['#node_edit_form'])) {
    $product_node_types = commerce_product_reference_node_types();
    if (in_array($form['#node']->type, array_keys($product_node_types))) {
      $product_catalog_tab = FALSE;

      // Assign all taxonomy reference fields to the new vertical tab.
      foreach (field_info_instances('node', $form['#node']->type) as $field_name => $instance) {
        $field = field_info_field($field_name);
        if ($field['type'] != 'taxonomy_term_reference') {
          continue;
        }
        if (!isset($instance['product_catalog']) || $instance['product_catalog']) {
          $product_catalog_tab = TRUE;
          $form[$field_name]['#fieldset'] = 'product_catalog';
        }
      }
      if ($product_catalog_tab) {

        // Enable the #fieldset key.
        $form['#pre_render'][] = 'commerce_backoffice_pre_render_add_fieldset_markup';

        // Add a new vertical tab.
        $form['product_catalog'] = array(
          '#type' => 'fieldset',
          '#title' => t('Product catalog'),
          '#group' => 'additional_settings',
          '#collapsible' => TRUE,
          '#collapsed' => TRUE,
          '#weight' => -10,
        );
      }
    }
  }

  // Alter the Exposed Filters for products page
  if (isset($form['submit']['#id']) && $form['submit']['#id'] == 'edit-submit-commerce-backoffice-products') {
    $form['product_display_node_type']['#attributes'] = array(
      'data-placeholder' => array(
        t('All product types'),
      ),
    );
    $form['product_display_term_node_tid_multiple']['#attributes'] = array(
      'data-placeholder' => array(
        t('All categories'),
      ),
    );
    $form['status']['#options']['All'] = t('All statuses');
    $form['combine']['#attributes'] = array(
      'placeholder' => array(
        t('Search by title or SKU'),
      ),
    );
  }

  // Alter the exposed filters for all product variations view.
  if (isset($form['submit']['#id']) && $form['submit']['#id'] == 'edit-submit-commerce-backoffice-all-product-variations') {
    $form['type']['#attributes'] = array(
      'data-placeholder' => array(
        t('Variation types'),
      ),
    );
    $form['combine']['#attributes'] = array(
      'placeholder' => array(
        t('Search by title or SKU'),
      ),
    );
    $form['status']['#options']['All'] = t('All statuses');
  }
}