¿Cómo encontrar la lista de 'caminos' en mi sitio?

8

Recientemente me convertí en el administrador de un sitio de Drupal. Estoy intentando configurar varios bloques en la página, y hasta ahora solo he logrado eliminarlos por completo. El menú de configuración me dice que ingrese la 'ruta' donde quiero que aparezca el bloque. ¿Cómo encuentro la lista de nombres de ruta disponibles para ingresar? El sitio tiene un blog, pero ingresar "blog" o incluso "blog / *" no hizo que el bloque apareciera en el bloque.

Mateo
fuente

Respuestas:

8

Para obtener todas las rutas que puede usar, puede usar el siguiente código para obtener todas las rutas definidas desde los módulos:

$items = module_invoke_all('menu');
drupal_alter('menu', $items);
foreach ($items as $path => $info) {
  print preg_replace('/%([a-z0-9_]*)/i', '*', $path);
}

El código mostrará la ruta a medida que ingresa en la configuración del bloque; Esto significa que cambiará node/%nodeen node/*, y node/%node/editen node/*/edit.

Sobre su problema específico, el bloque no pudo aparecer porque el bloque no se ha asignado a ninguna sección del tema, el tema no define la sección donde debería aparecer el bloque o el bloque está vacío. En la mayoría de los casos, los módulos no generan bloques vacíos.

kiamlaluno
fuente
Este listado encontrará rutas definidas por módulos, donde /admin/config/search/pathsolo se mostrarán los alias de contenido.
rymo
Puede poner el código anterior en un archivo, por ejemplo get-paths.php, y luego ejecutarlo así:drush php-script get-paths.php
dashohoxha
Envuelva el printen un if (!path_is_admin($path)) {si no desea rutas de administrador.
Elijah Lynn
$items = module_invoke_all('menu'); drupal_alter('menu', $items); foreach ($items as $path => $info) { if (!path_is_admin($path)) { print preg_replace('/%([a-z0-9_]*)/i', '*', $path) . "\n"; } }
Elijah Lynn
Hrm, esto en realidad no muestra todos los alias registrados.
Elijah Lynn el
4

Si tiene habilitado el módulo Ruta (núcleo), habrá una página que enumera todos los alias de URL en el sitio.

Si usa Drupal 7: example.com/admin/config/search/path

Si usa Drupal 6: example.com/admin/build/path

Laxman13
fuente
Si bien es útil, esto no es suficiente, hay otras formas de registrar rutas en Drupal que el módulo Ruta no muestra. drupal.stackexchange.com/a/14586/6602 tiene una solución más robusta.
Elijah Lynn