web-dev-qa-db-ja.com

Nodeパスを作成するときの分類法の親用語のURLエイリアスパターンの置き換えは何ですか?

シナリオ:

  1. 3つの深度レベルで分類用語を作成しました。例:

    Term 1 ( Root )
       Term 2 ( Child of Root )
          Term 3 ( Child of Term 2 )
    
  2. 私が設定した語彙のURLエイリアスで:

    [term:parent:parent]/[term:parent]/[term:name]
    
    That successfully creates a path that looks like this:
    
    "http://mydomain.com/term-1" for the root term
    "http://mydomain.com/term-1/term-2" for the root's child term
    "http://mydomain.com/term-1/term-2/term-3" for the child's child term
    
  3. 私のコンテンツタイプでは、 シンプルな階層選択 モジュールを使用して、ユーザーが最も深い用語(3番目の用語が下)を選択するように強制する用語参照フィールドを作成しました。


問題:

ノードを作成するときに、ノードのURLエイリアスをterm-1/term-2/term-3/node-tileに設定します。それだけを行うための置換パターンが見つかりません。

パス自動を使用すると、すぐにそれを実行できますか?その場合、どのパターンを使用すればよいですか?

4
Francisco Luz

トークンの高度な使用方法がいくつかあります(それがpathautoのコンテキストにあるかどうかにかかわらず、頭の上からはわかりません)。 joinを使用して、探しているものを取得できます。

_[node:field-name:parents:join:/]/[node:field-name:name]/[node:title]
_

用語パターンを次のように置き換えることもできます。

_[term:parents:join:/]/[term:name]
_

その方法を使用すると、pathautoパターンを変更せずに、語彙を4(またはそれ以上)のレベルに段階的に増やすことができます。

そのメソッドを機能させるには、_admin/config/search/path/settings_に移動し、Slash (/)オプションを "Punctuation"の下の "Do not Replace"に設定する必要があります。

9
Clive

はい、そのためのトークンがあります。コンテンツタイプの用語参照フィールドのマシン名がfield_myterm、パスのパターンは次のようになります。

[node:field-myterm:parent:parent]/[node:field-myterm:parent]/[node:field-myterm]/[node:title]

フィールド名の下線がトークン内のダッシュに置き換えられていることに注意してください。

編集:これらのトークンが Entity API モジュールに含まれているEntity Tokensモジュールに付属していることに気づきました。

4
Елин Й.