Desde el punto de vista programático, siempre puedes usar hook_url_inbound_alter () y hook_url_outbound_alter () para eso.
Puede intentar consultar el módulo Parámetros de consulta a URL o si está utilizando Search API y Facets , puede usar Facet API Pretty Paths .
También puede convertir su vista para usar argumentos en su ruta y usar el módulo Redirigir .
Aparte de lo anterior, no hay una manera fácil de lograrlo, ya que todavía hay una característica pendiente para Drupal 8; consulte Permitir cadenas de consulta en alias de URL .
Cuando usa paneles que usan vistas y, por ejemplo, mejores filtros expuestos, puede hacer algunos trucos como (ejemplo de URL: / panel_url? Category = 123):
/**
* Implements hook_url_inbound_alter().
*/
function foo_url_outbound_alter(&$path, &$options, $original_path) {
if (arg(0) == 'panel_url') {
// Convert URL like: /panel_url?category=29 into /panel_url/term_name (SEO friendly)
$path_info = parse_url($path);
switch (@$path_info['path']) {
case 'panel_url/term_name':
case 'panel_url/term_name2':
$path = 'panel_url/all'; // Convert loopy urls into base url
}
if (strpos($path, '?category=') !== FALSE) { // Convert term id into human name
list(, $tid) = explode('=', current(explode('&', $path_info['query']))); // get tid from URL
$term_name = strtolower(taxonomy_term_load((int)$tid)->name);
$path = '/panel_url' . '/' . $term_name; // See also: $path_info['path']
}
}
}
Para obtener más información, consulte Pasar argumento desde la URL en el Panel para ver el Panel o Bloquear .
Finalmente, puede usar hook_menu () para definir sus devoluciones de llamada de menú personalizadas y cargar su vista mediante programación.