質問

Drupal 7の下でPathautoを取得して、フルメニューパスでURLエイリアスを生成するにはどうすればよいですか?

役に立ちましたか?

解決

Pathauto/Tokenのより最近のバージョンで誰もがこれに出くわした場合のアップデート。これは私のために働いた:

ノード:メニューリンク:両親:Join-Path]/[ノード:メニューリンク

他のヒント

最終的に使用しました。

[node:menu-link:parent:url:path]/[node:menu-link]

ただし、注意:ノードにメニューリンクがない場合、自動エイリアスページなしで最終的に表示されます。明るい面では、これはあなたが孤児のページを認識させるかもしれません。 (それを機能と考えてください!)

パターンを使用することに注意してください。

[node:menu-link:url:path]/[node:menu-link]

を与えるだけです ノード メニューリンク、それではありません (これは親のパスを参照するために必要です)。

またはパターン:[node:parent:url:path]/[node:menu-link]

Drupal 7のインスタンスで、無効なトークンについてエラーを投げます(トークンモジュールがインストールされていても)。

[node:menu-link:parent:url:path]/[node:title]

ノードがメニューにない場合、エイリアスは作成されません。それ以外の場合、これはnティアメニューで機能しているようです。

私は今このパターンでなければならないと思います:

[node:menu-link:url:path]/[node:menu-link]

「エイリアス」の代わりに「パス」

コントリブをインストールする必要があります トークンモジュール 同様に、トークンの機能の多くはD7のコアの一部ですが、エッジケーストークンの一部(特定のノードのフルメニューパスなど)はCoreによって自動的に提供されていません。

それがインストールされていると、[node:menu-link:parent]または[node:menu-link:parent:url]が機能するはずだと思います。

私に役立つパターンは次のとおりです。

[node:menu-link:parent:url:alias]/[node:menu-link]

また、Eatedのようなトークンモジュールを提案しました。かどうかわからない [node:menu-link:parent:url:alias] コアの一部であるか、貢献しています。

たとえば、3レベルまたはより深いページのエイリアスを作成しようとしている場合:

Home page
 > Level 1 page
   > Level 2 page
     > Level 3 page

そして、あなたはレベル3ページのエイリアスを次のように見せたいです http://domain.com/level-1/level-2/level-3, 、私は自分のパターンを次のように設定することで私のために働くようにしました

[node:menu-link:parent:parent:parent:title]/[node:menu-link:parent:parent:title]/[node:menu-link:parent:title]/[node:title]

追加したことに注意してください :parent トークンに、そして最初のものについては2回追加しました。

楽しみ!

ノード:メニューリンク:両親:Join-Path]/[Node:title] .html

これが私が使用するソリューションです:

[node:menu-link:parents:join:/]/[node:menu-link]

ダッシュで親メニュー項目を分離します。それが私が必要とするものです。

この答えにつまずいて、これを追加する方法を疑問に思う人のために:

構成>検索とメタデータ> URLエイリアス、[パターン]タブの下に作成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top