it-swarm.asia

كيفية الحصول على عقدة من خلال عنوان URL المستعار الخاص بها؟

أعلم أنه يمكنني تحميل عقدة بعنوانها باستخدام الدالة node_load(). هل من الممكن تحميل عقدة من خلال عنوان URL المستعار الخاص بها؟

37
Moon

تريد التحقيق 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
mpdonadio

بالنسبة لشخص يبحث عن كيفية القيام بذلك في 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]);
0
anoopjohn