bagaimana memisahkan hierarki taksonomi dalam pathauto dengan garis miring


14

Pathauto tampaknya memiliki cara yang berbeda untuk menghilangkan hierarki taksonomi.

Dari Menu Taksonomi :

  1. Iklan Baris> Mobil> Aston Martin> DB9 Coupe
  2. Iklan Baris> Pekerjaan> Akuntansi

Yang saya inginkan adalah sesuatu seperti ini untuk url:

  • iklan baris / pekerjaan / akuntansi (bukan pekerjaan-iklan-baris)

(Perhatikan bahwa Pathautho menghasilkan ini dengan tanda hubung juga dalam urutan terbalik.)

Di Pathauto, saya menggunakan pola ini: Default path pattern(berlaku untuk semua kosakata dengan pola kosong di bawah)

[term:parents-all]

Bingung.

Jawaban:


10

Dengan modul Token diaktifkan, Anda dapat mengatur pola seperti ini:

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

Buat pola ini selama yang Anda inginkan. Jalur Anda kemudian akan menjadi:

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

dan seterusnya...


Terima kasih banyak! Jadi jika saya memiliki hierarki taksonomi 5 level (termasuk vocab) yang akan menjadi [istilah: kosakata] / [istilah: orang tua: orang tua: orang tua: nama] / [istilah: orang tua: orang tua: nama] / ... dll ., Baik? Saya berharap modul token dapat dikonfigurasi sedemikian rupa sehingga Anda tidak perlu mendefinisikan orang tua-anak berulang kali dengan cara ini. Bagaimana jika tiba-tiba pohon Anda menjadi 6 level maka Anda harus menghapus dan memperbarui jalur Anda untuk memasukkan yang lain dan kemudian menjadi 7 level dalam dan seterusnya .. maksud saya, jika seorang pengguna menambahkan istilah satu tingkat ke bawah, ia tidak dapat melihat kontennya kecuali admin memperbarui pathauto!
jan

1
Meskipun ini adalah jawaban yang diterima, harap tinjau jawaban @ NenadP untuk solusi yang dapat diskalakan.
Paul

16

Ada cara cerdas untuk melakukan ini dengan menggunakan bergabung: /

Dalam kasus saya, saya menggunakan:

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

di mana field-taxonomy-skolskibidang untuk memilih istilah dari pohon taksonomi. Garis miring ke depan akan dilucuti, meskipun ada pengaturan di bawah

Administrasi »Konfigurasi» Cari dan metadata »alias URL» alias URL - pengaturan

di bagian bawah halaman untuk tarik-turun PUNCTUATION . Setel ke slash (/) "tidak ada tindakan" alih-alih "hapus".


Bingo! Saya sendiri menawarkan solusi non-scalable di atas ( drupal.stackexchange.com/questions/27141/… ) dan tentu saja saya suka yang ini jauh lebih baik. Saya bersumpah bahwa token option belum ada ketika saya berjuang untuk membuat pola itu bekerja. Terima kasih!
Artur

2
[...: join: /] tidak bekerja untuk saya tetapi [...: join-path] berhasil. Komentar: dengan join-path Anda tidak dapat memilih pemisah. Itu hanya menggunakan / sebagai pemisah.

Jika ini tidak berhasil untuk Anda, Anda mungkin perlu menginstal dan mengaktifkan modul "entitas".
coderama

Pola untuk Drupal 8 sedikit berbeda, misalnya: [term:vocabulary]/[term:parents:join:/]/[term:name]
Martin Klima

6

Yang ini berfungsi untuk saya di Drupal 7.15 dengan Token 7.x-1.3 dan Pathauto 7.x-1.2:

[istilah: orang tua: gabung: /] / [istilah: nama]

Seperti yang dinyatakan brunops dalam jawaban kedua, gabung:% separator% melakukan keajaiban. Ini menggantikan tanda hubung default dengan% separator%.

Terima kasih banyak untuk brunops!


Ini harus jawaban yang benar! Tidak masalah berapa banyak level yang Anda miliki, ini akan berhasil.
Rantiev

3

Kunci untuk membuatnya bekerja adalah:

  • instal dan aktifkan API Entitas, Token Entitas, modul Jalur Otomatis dan Taksonomi.
  • buat bidang pada jenis konten Anda dan atur Jenis Bidang ke Istilah Referensi dan beri nama itu seperti 'bidang-konten-kategori' (nama mesin)
  • Setel Jumlah Nilai, alias, 'Jumlah nilai maksimum yang dapat dimasukkan pengguna untuk bidang ini' ke 1 (sangat penting jika Anda ingin menggunakan token jalur gabungan yang secara otomatis menambahkan a / di antara elemen path).
  • atur pola URL (admin / config / pencarian / path / pola) ke sesuatu seperti '[simpul: bidang-konten-kategori: orang tua: jalur-bergabung] / [simpul: bidang_content_category] / [simpul: judul]'

0

Yah saya akan merekomendasikan menggunakan sesuatu yang pintar seperti:

[term: parent: terms: terbalik: gabung :?]

Tapi aku tidak bisa selama hidupku membuatnya tidak bekerja. Jadi alih-alih saya merekomendasikan yang berikut ini tetapi Anda hanya bisa masuk sedalam yang dimungkinkan oleh hierarki (dapat dilihat pada pola penggantian). Jika Anda menambahkan istilah lebih dalam dalam hierarki Anda harus memperbarui polanya juga.

[istilah: orangtua-semua: 3] / [istilah: orangtua-semua: 2] / [istilah: orangtua-semua: 1]

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.