3つの深度レベルで分類用語を作成しました。例:
Term 1 ( Root )
Term 2 ( Child of Root )
Term 3 ( Child of Term 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番目の用語が下)を選択するように強制する用語参照フィールドを作成しました。
ノードを作成するときに、ノードのURLエイリアスをterm-1/term-2/term-3/node-tile
に設定します。それだけを行うための置換パターンが見つかりません。
パス自動を使用すると、すぐにそれを実行できますか?その場合、どのパターンを使用すればよいですか?
トークンの高度な使用方法がいくつかあります(それが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"に設定する必要があります。
はい、そのためのトークンがあります。コンテンツタイプの用語参照フィールドのマシン名がfield_myterm
、パスのパターンは次のようになります。
[node:field-myterm:parent:parent]/[node:field-myterm:parent]/[node:field-myterm]/[node:title]
フィールド名の下線がトークン内のダッシュに置き換えられていることに注意してください。
編集:これらのトークンが Entity API モジュールに含まれているEntity Tokensモジュールに付属していることに気づきました。