Вы здесь

Как добавить префикс к url, уже обработанному pathauto?

0

В продолжении задачи http://dru.io/question/5443:
Теперь нужно к таксономии добавить префикс "город", на основе выбора из Views Global Filter, такого вида: gorod/tag/tagname, то есть дополнить алиас pathauto tag/tagname.

Пробовал так:

function mycustom_url_outbound_alter(&$path, &$options, $original_path) {
  $city = global_filter_get_session_value('field_city');

  if (preg_match('|^taxonomy/term/([0-9]*)|', $path, $matches)) {
    $vid = db_query('SELECT vid FROM {taxonomy_term_data} WHERE tid = :tid',
      array(':tid' => $matches[1])
    )->fetchField();
    if ($vid == 8 || $vid == 6) {
      $alias = drupal_get_path_alias($path, 'und');
      switch ($city) {
        case 222: {
          $path = 'moscow/' . $alias;
        }
        case 223: {
          $path = 'cow/' . $alias;
        }
      }
      dsm($path);
    }
  }
}

Но в результате всё равно адрес остаётся тем, что сгенерил pathauto. Пробовал менять вес модуля (у pathauto вес 1) - не помогает.

Версия Drupal: 
7.x
Категория: 
Taxonomy API
Вопрос задан 10.04.2016 - 11:29
Аватар пользователя VVS
VVS
31

Ответы

0

Оказывается, надо добавить

$options['alias'] = $path;

это позволяет пропустить обработку псевдонима в url() в common.inc

Ответ дан 10.04.2016 - 14:36
Аватар пользователя VVS
VVS
31