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.

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.


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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.