web-dev-qa-db-ja.com

パスオートの分類階層をスラッシュで区切る方法

Pathauto には、分類階層のエイリアスを設定する別の方法があるようです。

から 分類メニュー

  1. クラシファイド>車>アストンマーティン> DB9クーペ
  2. クラシファイド>仕事>会計

私が欲しいのはこのURLのようなものです:

  • クラシファイド/ジョブ/アカウンティング(アカウンティング-ジョブ-クラシファイドではない)

(Pathauthoは、ダッシュを逆順にしてこれを生成することに注意してください。)

Pathautoでは、次のパターンを使用しています:Default path pattern(以下の空のパターンを持つすべての語彙に適用されます)

[term:parents-all]

混乱しています。

14
jan

Token モジュールを有効にすると、次のようなパターンを設定できます。

[term:vocabulary]/[term:parent:parent:name]/[term:parent:name]/[term:name]

このパターンは好きなだけ作ってください。パスは次のようになります。

vocabulary
vocabulary/category1
vocabulary/category1/subcategory1
vocabulary/category1/subcategory2
vocabulary/category1/subcategory2/subsubcategory1

等々...

10
brunops

join:/を使用してこれを行う賢い方法があります

私の場合、私は以下を使用しました:

[node:field-taxonomy-skolski:parents:join:/]

どこ field-taxonomy-skolskiは、分類ツリーから用語を選択するためのフィールドです。スラッシュは削除されますが、下に設定があります

管理"構成"検索とメタデータ"URLエイリアス"URLエイリアス-設定

ページ下部のPUNCTUATION drop-downの場合。 「削除」の代わりにスラッシュ(/)「アクションなし」に設定します。

16
NenadP

これは私にとってDrupal 7.15 with Token 7.x-1.3およびPathauto 7.x-1.2で動作します:

[期間:親:参加:/]/[期間:名前]

Brunopsが2番目の答えで述べたように、join:%separator%が魔法をかけます。デフォルトのダッシュを%separator%に置き換えます。

ブルノップに感謝!

6
hazard

これを機能させるための鍵は次のとおりです。

  • entity API、Entity Tokens、Path Auto、Taxonomyモジュールをインストールして有効にします。
  • コンテンツタイプにフィールドを作成し、フィールドタイプを用語参照に設定して、「field-content-category」(マシン名)のような名前を付けます
  • 値の数、別名、「ユーザーがこのフィールドに入力できる値の最大数」を1に設定します(パス要素の間に/を自動的に追加する結合パストークンを使用する場合は非常に重要です)。
  • uRLパターン(admin/config/search/path/patterns)を '[node:field-content-category:parents:join-path]/[node:field_content_category] ​​/ [node:title]'のように設定します
3
rwilson0429

まあ私は次のようなスマートなものを使用することをお勧めします:

[term:parent:terms:reversed:join :?]

しかし、私は自分の人生の中でそれを機能させることはできません。したがって、代わりに以下をお勧めしますが、階層が許す限り深く行くことができます(置換パターンで確認できます)。階層のより深い用語を追加する場合は、パターンも更新する必要があります。

[term:parents-all:3]/[term:parents-all:2]/[term:parents-all:1]

0
7wonders