Как получить узел по его URL-псевдониму?
Я знаю, что могу загрузить узел по его названию с помощью функции node_load()
. Можно ли загрузить узел по его псевдониму URL-адреса?
37
2 answers
Вы хотите исследовать menu_get_object и путь drupal_lookup_path.
Что-то вроде этого сделало бы то, что вы хотите:
$alias = "some/path/to/a/page";
$path = drupal_lookup_path("source", $alias);
$node = menu_get_object("node", 1, $path);
56
Author: mpdonadio, 2011-11-10 20:28:15
Для тех, кто хочет узнать, как это сделать в Drupal 8, вот соответствующий вопрос и ответ
Как я могу получить идентификатор nid узла из псевдонима страницы?
use \Drupal\Core\Url;
$alias = \Drupal::service('path.alias_manager')->getPathByAlias('/etapes-de-la-vie');
$params = Url::fromUri("internal:" . $alias)->getRouteParameters();
$entity_type = key($params);
$node = \Drupal::entityTypeManager()->getStorage($entity_type)->load($params[$entity_type]);
1
Author: anoopjohn, 2019-11-14 02:17:43