web-dev-qa-db-ja.com

用語のURLエイリアスを取得する

モジュールを作成していますが、用語のURLについて混乱しています。というのも、pathauto moduelがインストールされている場合は、そのモジュールのエイリアスを提供する必要があるからです。これを達成する方法は?

デフォルトdrupalのURL:_taxonomy/term/30_ Pathautoの推定パターン:

_category/30
category/[title]
category/[title]/[id]
...and millions of other possible patte
_

drupal_get_path_alias()を使用すると、drupalのデフォルトパスが返されます。

Pathautoが使用するパスを取得するにはどうすればよいですか? pathautoのモジュールを見たことはありますが、この目的のためのAPIは提供されていないようです。

2
Mostafa Talebi

url() 関数を使用するだけです。 pathautoがインストールされている場合は、エイリアスパスが返されます。

例:

$link = url('taxonomy/term/1');
8
Aram Boyajyan

url()またはdrupal_get_path_alias()を使用できますが、パス引数の先頭にスラッシュがないことを確認してください。

例:

drupal_get_path_alias('/taxonomy/term/1');
url('/taxonomy/term/1');

パス'/taxonomy/term/1'を返します

drupal_get_path_alias('taxonomy/term/1');

'tags/some-tag'を返します

url('taxonomy/term/1');

'/tags/some-tag'を返します

1
Roman Tselepnev