Как найти список «путей» на моем сайте?

8

Недавно я стал администратором сайта Drupal. Я пытаюсь настроить различные блоки на странице, и пока мне удалось только полностью их удалить. Меню конфигурации говорит мне ввести «путь», где я хочу, чтобы блок появился. Как мне найти список путей, доступных для входа? На сайте есть блог, но ввод "blog" или даже "blog / *" не привел к появлению блока в блоке.

Мэтью
источник

Ответы:

8

Чтобы получить все пути, которые вы можете использовать, вы можете использовать следующий код, чтобы получить все пути, определенные из модулей:

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

Код покажет путь при вводе в настройках блока; это означает , что изменится node/%nodeв node/*и node/%node/editв node/*/edit.

Что касается вашей конкретной проблемы, блок не мог появиться, потому что блок не был назначен ни одному разделу темы, тема не определяет раздел, в котором должен появиться блок, или блок пуст. В большинстве случаев модули не выводят пустые блоки.

киамлалуно
источник
этот список найдет пути, определенные модулями, где /admin/config/search/pathбудут отображаться только псевдонимы содержимого.
rymo
Например get-paths.php, вы можете поместить приведенный выше код в файл, а затем выполнить его следующим образом:drush php-script get-paths.php
dashohoxha
Оберните printв, if (!path_is_admin($path)) {если вы не хотите пути администратора.
Элайджа Линн
$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"; } }
Элайджа Линн
Хм, на самом деле это не показывает все зарегистрированные псевдонимы.
Элайджа Линн
4

Если у вас включен модуль Path (ядро), на странице будет отображаться список всех псевдонимов URL.

При использовании Drupal 7: example.com/admin/config/search/path

При использовании Drupal 6: example.com/admin/build/path

Laxman13
источник
Хотя это полезно, этого недостаточно, есть другие способы регистрации путей в Drupal, которые не отображается модулем Path. drupal.stackexchange.com/a/14586/6602 предлагает более надежное решение.
Элайджа Линн