URLエイリアスをノードIDに戻す方法


8

URLパスをそれ自身のノード(node / nid)に変換する方法を知りたいです。特定のパスから元のノードIDを取得したい。例えば

パス= "news / my-news"

..そして、それをトレースして、それ自身のオリジナルのURL、例えば65を取得します。助言してください。ありがとう。

回答:


3

GokulNKはすでにしている特定の使用に対する答えをdrupal_get_normal_path()。現在のパスとは異なるパスエイリアスで作業している場合は、それを使用します。

現在のページ/パスのエイリアス化されていないパスを取得したい場合は、単にを使用します$_GET['q']。Drupalパスエイリアスはmod_rewritesですが、から内部パスを見つけることができます$_GET['q']。ノードのパスまたは任意の構造化パスの、あなたはノードのIDまたは何かを取得したい場合は、今ではないんexplode('/', $_GET['q']):)

会うarg()

  • Aliased path: content/my-new-page
  • $_GET['q']: node/69
  • arg(0) = node
  • arg(1) = 69
  • drupal_get_normal_path('content/my-new-page') (キャッシュされない限り、おそらくいくつかのdbトリップが必要です)


0

すべてのURlパスはデータベースに保存されるため、pathautoを使用しているか、独自のURLエイリアスを書き込んでいるかに関係なく、admin / config / search / pathで構成できます。管理設定から削除すると、URLパスがそれ自体のノード(node / nid)に変換される場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.