Wie finde ich die Liste der "Pfade" auf meiner Website?


8

Ich wurde kürzlich Administrator einer Drupal-Site. Ich versuche, verschiedene Blöcke auf der Seite zu konfigurieren, und habe es bisher nur geschafft, sie insgesamt zu entfernen. Das Konfigurationsmenü fordert mich auf, den 'Pfad' einzugeben, an dem der Block angezeigt werden soll. Wie finde ich die Liste der Pfadnamen, die für die Eingabe verfügbar sind? Die Site hat ein Blog, aber durch Eingabe von "blog" oder sogar "blog / *" wurde der Block nicht im Block angezeigt.

Antworten:


8

Um alle Pfade abzurufen, die Sie verwenden können, können Sie den folgenden Code verwenden, um alle von Modulen definierten Pfade abzurufen:

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

Der Code zeigt den Pfad an, wie Sie ihn in den Blockeinstellungen eingeben. Dies bedeutet, dass es sich node/%nodein node/*und node/%node/editin ändern wird node/*/edit.

In Bezug auf Ihr spezielles Problem konnte der Block nicht angezeigt werden, da der Block keinem Themenabschnitt zugewiesen wurde, das Thema nicht den Abschnitt definiert, in dem der Block angezeigt werden soll, oder der Block leer ist. In den meisten Fällen geben Module keine leeren Blöcke aus.


In dieser Liste finden Sie Pfade, die durch Module definiert sind und in denen /admin/config/search/pathnur Inhaltsaliasnamen angezeigt werden.
Rymo

Sie können den obigen Code beispielsweise in eine Datei einfügen get-paths.phpund dann wie drush php-script get-paths.php
folgt

Wickeln Sie das printin ein, if (!path_is_admin($path)) {wenn Sie keine Administratorpfade möchten.
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, dies zeigt nicht alle registrierten Aliase.
Elijah Lynn

4

Wenn Sie das Pfadmodul (Kern) aktiviert haben, wird eine Seite angezeigt, auf der alle URL-Aliase auf der Site aufgelistet sind.

Bei Verwendung von Drupal 7: example.com/admin/config/search/path

Bei Verwendung von Drupal 6: example.com/admin/build/path


Dies ist zwar hilfreich, aber nicht ausreichend. Es gibt jedoch auch andere Möglichkeiten, Pfade in Drupal zu registrieren, die vom Pfadmodul nicht angezeigt werden. drupal.stackexchange.com/a/14586/6602 bietet eine robustere Lösung.
Elijah Lynn
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.