अपने url उपनाम से एक नोड कैसे प्राप्त करें?


37

मुझे पता है कि मैं node_load()फ़ंक्शन के साथ इसके शीर्षक से एक नोड लोड कर सकता हूं । क्या इसके URL उपनाम से नोड लोड करना संभव है?

जवाबों:


56

आप 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);

इसके अलावा, गतिशील रूप से url उर्फ ​​अगले करने के लिए पकड़ो: $ alias = $ _SERVER ['REQUEST_URI']] $ उर्फ ​​= पदार्थ ($ उर्फ, 1); // स्ट्रिंग की शुरुआत से "/" हटाने के लिए
यूजीन पावलोव

@ यूजीनपावलोव - $alias = drupal_get_path_alias();यह होना चाहिए।
लीमैनक्स

0

किसी के लिए यह देखने के लिए कि ड्रुपल 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]);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.