¿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.

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.


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


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.