Bagaimana cara mendapatkan simpul dengan url alias?


37

Saya tahu saya bisa memuat simpul dengan judulnya dengan node_load()fungsi. Apakah mungkin untuk memuat simpul dengan alias URL-nya?

Jawaban:


56

Anda ingin menyelidiki menu_get_object dan drupal_lookup_path .

Sesuatu seperti ini akan melakukan apa yang Anda inginkan:

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

Juga, untuk secara dinamis ambil url alias lakukan selanjutnya: $ alias = $ _SERVER ['REQUEST_URI']; $ alias = substr ($ alias, 1); // untuk menghapus "/" dari awal string
Eugene Pavlov

@EugenePavlov - $alias = drupal_get_path_alias();seharusnya begitu.
leymannx

0

Untuk seseorang yang mencari cara untuk melakukan ini di Drupal 8 di sini adalah pertanyaan dan jawaban yang sesuai

Bagaimana saya bisa mendapatkan nid dari node dari halaman alias?

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]);
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.