Como encontrar a lista de 'caminhos' no meu site?

8

Recentemente, me tornei administrador de um site Drupal. Estou tentando configurar vários blocos na página e até agora consegui removê-los completamente. O menu de configuração diz para eu inserir o 'caminho' para onde eu quero que o bloco apareça. Como encontro a lista de nomes de caminhos disponíveis para entrada? O site tem um blog, mas inserir "blog" ou mesmo "blog / *" não fez o bloco aparecer no bloco.

Mateus
fonte

Respostas:

8

Para obter todos os caminhos que você pode usar, use o código a seguir para obter todos os caminhos definidos nos módulos:

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

O código mostrará o caminho conforme você entra nas configurações do bloco; isso significa que vai mudar node/%nodedentro node/*e node/%node/editdentro node/*/edit.

Sobre o seu problema específico, o bloco não pôde aparecer porque o bloco não foi atribuído a nenhuma seção do tema, o tema não define a seção em que o bloco deve aparecer ou o bloco está vazio. Na maioria dos casos, os módulos não produzem blocos vazios.

kiamlaluno
fonte
esta listagem encontrará caminhos definidos por módulos, onde /admin/config/search/pathapenas mostrarão aliases de conteúdo.
Rymo
Você pode colocar o código acima em um arquivo, por exemplo get-paths.php, e depois executá-lo como este:drush php-script get-paths.php
dashohoxha
Embrulhe o printem if (!path_is_admin($path)) {se você não quiser caminhos de administrador.
Elias 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"; } }
Elias Lynn
Hm, isso realmente não mostra todos os aliases registrados.
Elijah Lynn
4

Se você tiver o módulo Path (core) ativado, haverá uma página que lista todos os aliases de URL no site.

Se estiver usando o Drupal 7: example.com/admin/config/search/path

Se estiver usando o Drupal 6: example.com/admin/build/path

Laxman13
fonte
Embora útil, isso não é suficiente, existem outras maneiras de registrar caminhos no Drupal que o módulo Path não exibe. drupal.stackexchange.com/a/14586/6602 possui uma solução mais robusta.
Elias Lynn