it-swarm.dev

URL 별칭으로 노드를 얻는 방법?

제목으로 node_load() 함수를 사용하여 노드를로드 할 수 있다는 것을 알고 있습니다. URL 별명으로 노드를로드 할 수 있습니까?

37
Moon

menu_get_objectdrupal_lookup_path 를 조사하려고합니다.

이런 식으로 원하는 것을 할 수 있습니다.

$alias = "some/path/to/a/page";
$path = drupal_lookup_path("source", $alias);
$node = menu_get_object("node", 1, $path);
56
mpdonadio

Drupal 8 8 에서이 작업을 수행하는 방법을 찾는 사람은 여기에 해당하는 질문과 답변이 있습니다.

페이지 별명에서 노드를 어떻게 구할 수 있습니까?

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]);
0
anoopjohn