У меня есть url : /books?filter0=asdf&filter1=asdf&op2=%3D&filter2=
Если я его вставляю в адресную строку, то все замечательно и страница отображается.
При попытке занести его в URL aliases или прописать в пути для элемента меню, Drupal заменяет его на
/books%3Ffilter0%3Dasdf%2526filter1%3Dasdf%2526op2%3D%253D%2526filter2%3D и уже не находит. Функция drupal_goto() делает тоже самое... Как быть?!
Комментарии
Нельзя сделать alias для пути, содержащий query string. Определяется принципом работы модуля path.
drupal_goto, видимо, использует не тот формат параметров, что вы ожидаете: drupal_goto($path = '', $query = NULL, $fragment = NULL, $http_response_code = 302)
В вашем случае можно попробовать решить задачу через настройки Arguments используемого view. Например, написать какой-нибудь сниппет.
whisk@drupal.org, спс за подсказку.
Оказалось все не так печально: в функции drupal_goto идет вызов функции url, которая проверяет, указан абсолютный или относительный путь, и только во 2 случае уже заменяет символы '? = и т.д.'
Поэтому решилось все просто: в строке аргументов:
global $base_url;
drupal_goto($base_url . '/publications/books?filter0=asdf&filter1=asdf&op2=%3D&filter2=');
}
$view->is_cacheable = 0;
return $args;