Comment trouver la liste des 'chemins' sur mon site?

8

Je suis récemment devenu administrateur d'un site Drupal. J'essaie de configurer divers blocs sur la page, et jusqu'à présent, je n'ai réussi à les supprimer complètement. Le menu de configuration me dit d'entrer le «chemin» pour où je veux que le bloc apparaisse. Comment trouver la liste des noms de chemin d'accès disponibles pour la saisie? Le site a un blog, mais entrer "blog" ou même "blog / *" n'a pas fait apparaître le bloc sur le bloc.

Matthieu
la source

Réponses:

8

Pour obtenir tous les chemins que vous pouvez utiliser, vous pouvez utiliser le code suivant pour obtenir tous les chemins définis à partir des modules:

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

Le code affichera le chemin que vous entrez dans les paramètres de bloc; cela signifie qu'il va changer node/%nodeen node/*et node/%node/editen node/*/edit.

À propos de votre problème spécifique, le bloc n'a pas pu apparaître car le bloc n'a été attribué à aucune section de thème, le thème ne définit pas la section où le bloc doit apparaître ou le bloc est vide. Dans la plupart des cas, les modules ne produisent pas de blocs vides.

kiamlaluno
la source
cette liste trouvera les chemins définis par les modules, où /admin/config/search/pathne montreront que les alias de contenu.
rymo
Vous pouvez mettre le code ci-dessus sur un fichier, par exemple get-paths.php, puis l'exécuter comme ceci:drush php-script get-paths.php
dashohoxha
Enveloppez le printdans un if (!path_is_admin($path)) {si vous ne voulez pas de chemins d'administration.
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, cela ne montre pas tous les alias enregistrés.
Elijah Lynn
4

Si le module Path (core) est activé, une page répertorie tous les alias d'URL sur le site.

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

Si vous utilisez Drupal 6: example.com/admin/build/path

Laxman13
la source
Bien qu'utile, cela ne suffit pas, il existe d'autres façons d'enregistrer des chemins dans Drupal que le module Path n'affiche pas. drupal.stackexchange.com/a/14586/6602 a une solution plus robuste.
Elijah Lynn