Псевдоним пути drupal существует или нет - PullRequest
1 голос
/ 06 мая 2010

Как узнать, существует ли URL или нет ? то есть URL, который приводит к 'страница не найдена' ошибка. Например: обнаружение test / testpage существует или отсутствует

я имею в виду, что для проверки, существует ли на сайте данный относительный путь или полный путь, или он приводит к ошибке "страница не найдена"

Ответы [ 4 ]

7 голосов
/ 06 мая 2010

Для этого вы можете использовать функцию menu_valid_path (). Возвращает значение ИСТИНА или ЛОЖЬ в зависимости от того, 1. существует ли путь в меню и 2. если текущий пользователь имеет право просматривать элемент.

Вы называете это так:

$item_exists = menu_valid_path(array('link_path' => $some_path));

Где $ some_path - это путь, который вы хотите проверить.

4 голосов
/ 08 ноября 2013

Если вы хотите знать, существует ли псевдоним или нет, используйте:

$path_exist = drupal_lookup_path('alias',$path);

Но если вы хотите узнать, существует ли один из системных путей или псевдонимов, используйте:

$path_exist = drupal_lookup_path('alias',$path) || drupal_lookup_path('source',$path);
2 голосов
/ 24 июля 2018

См. этот URL для Drupal 8.

Вы можете использовать:

\Drupal::service('path.alias_storage')->aliasExists('current_path', 'en')

И он загрузит « 1 », если в системе существует псевдоним.

1 голос
/ 06 мая 2010

Также вы можете использовать запрашивающую страницу: http://api.drupal.org/api/function/drupal_http_request/6
При ошибке вы получите не пустой $ result-> error.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...