You are here

function view_alias_form_alter in View Alias 7

Same name and namespace in other branches
  1. 6.2 view_alias.module \view_alias_form_alter()

Implements hook_form_alter(). remove the default form settings and add our own since view alias are different from the regular aliases

File

./view_alias.module, line 225
Hook implementations for view alias module integration.

Code

function view_alias_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'pathauto_patterns_form') {
    unset($form['view_alias']['token_help']);
    unset($form['view_alias']['pathauto_view_alias_pattern']);
    $form['view_alias']['views_to_alias'] = array(
      '#type' => 'fieldset',
      '#title' => 'Views available for aliasing',
      '#description' => 'Check the views for which aliases should be bulk generated.',
      '#weight' => -1,
    );
    $aliasable = _get_aliasable_displays();
    foreach ($aliasable as $alias) {
      $name_list = array();
      foreach ($alias->vargs as $field => $varg) {
        $name_list[] = t('%field (%vocabs)', array(
          '%field' => $field,
          '%vocabs' => implode(', ', $varg['vocabularies']),
        ));
      }
      $names = implode(', ', $name_list);
      $pattern_id = view_alias_pattern_id($alias);
      $pattern = view_alias_alias_pattern($alias);
      $form['view_alias']['views_to_alias'][$pattern_id] = array(
        '#type' => 'textfield',
        '#title' => t('View %view_name, display %display_name, on path %path, with arguments !arg_list.', array(
          '%view_name' => $alias->view_name,
          '%display_name' => $alias->display_name,
          '%path' => $alias->path,
          '!arg_list' => $names,
        )),
        '#weight' => -1,
        '#default_value' => variable_get($pattern_id, view_alias_alias_pattern($alias)),
        '#description' => t('Default value is %pattern', array(
          '%pattern' => view_alias_alias_pattern($alias),
        )),
      );
      $form['view_alias']['views_to_alias']['directions'] = array(
        '#type' => 'markup',
        '#markup' => t('Valid tokens are any taxonomy term token prefixed with <strong>view_alias:<em>argument_name</em></strong>.  E.g., <code>[view_alias:tid:term:name]</code> or <code>[view_alias:term_node_tid_depth:term:parents:join:?]</code>'),
      );
      $form['view_alias']['token_tree'] = array(
        '#type' => 'fieldset',
        '#title' => t('Replacement patterns'),
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
        '#description' => theme('token_tree', array(
          'token_types' => array(
            'term',
          ),
        )),
        '#weight' => 10,
      );
    }
  }
}