Mengonversi nama Term dengan karakter khusus ke ID Term dalam Tampilan


11

Saya memiliki pandangan di mana saya ingin menggunakan beberapa termID sebagai argumen. Saya ingin menggunakan nama istilah dari url dan mengonversinya menjadi termID. Saya telah berhasil melakukan ini dengan cukup mudah dan berfungsi dengan istilah 1 kata sederhana atau bahkan beberapa kata dengan mencentang 'Transform dash in URL to spasi dalam argumen term term name'

Saya memiliki beberapa istilah yang memiliki karakter khusus misalnya: "berita & politik".

Apakah ada cara untuk memiliki URL yang bagus (berita-politik) dan mendapatkan pandangan untuk mengenali istilah yang benar dan mengubahnya menjadi termID yang benar? Apakah saya harus urlencode ampersand? Apakah itu akan berhasil?

Sunting: Anda dapat menyiapkan alias path untuk istilah taksonomi tunggal, tetapi merupakan masalah ketika Anda ingin menggunakan nama istilah sebagai argumen kedua di path dengan beberapa argumen, misalnya:

Katakanlah saya ingin memfilter hasil tampilan dengan% 1 Istilah berita lalu% 2 Berita & Politik

/ berita / berita-politik

masa jabatan kedua tidak akan diakui.


Mengapa Anda tidak menggunakan nama istilah sebagai argumen?
dobeerman

Masalah yang sama. Ampersand hilang sehingga drupal tidak dapat menemukan istilah tersebut. Saya pikir satu-satunya pilihan adalah url encode ampersand yang SEO tidak tertarik atau mungkin menyimpan path alias untuk setiap istilah di db. Hanya ingin tahu apakah ada yang pernah mengalami ini sebelumnya dan memiliki strategi yang baik.
nickwshaw

Nah sebagai solusi jangka pendek kita hanya akan mengganti & dengan kata dan. Jadi Berita & Politik (berita-politik) akan menjadi Berita dan Politik (berita-dan-politik)
nickwshaw

Jawaban:


2

Anda dapat menggunakan pathauto untuk mengatur alias otomatis untuk persyaratan taksonomi Anda. Pathauto akan menangani karakter url yang tidak valid untuk Anda ketika membuat alias otomatis. Kemudian dalam pandangan Anda gunakan id istilah sebagai argumen. Path pandangan Anda dapat berupa taksonomi / term /% atau autoalias yang Anda atur /%


1
Terima kasih Jepedo. Itu adalah solusi yang bagus untuk istilah taksonomi tunggal. Tetapi masih ada masalah jika Anda ingin menggunakan istilah ini sebagai argumen wildcard di jalur multi argumen. Saya seharusnya menyebutkannya di postingan asli saya dan sekarang sudah mengeditnya.
nickwshaw


2

Karena bug lama dalam modul Views dilaporkan pada Edisi # 672606: Tanda plus, tanda hubung, dan argumen garis miring (+ - /) memecah argumen pada Drupal.org, tidak mungkin untuk digunakan sebagai argumen (atau "filter kontekstual "dalam bahasa baru) nama istilah yang berisi karakter khusus tertentu. Beberapa solusi diusulkan di sana :

  1. Gunakan sesuatu seperti bidang Computed field (computed_field) untuk membuat nilai bidang URL-friendly pada entitas istilah yang dapat digunakan sebagai argumen. Berhati-hatilah dengan kemungkinan (langsing?) Istilah-istilah yang sangat mirip saling mengalahkan jika Anda tidak berhati-hati tentang keunikan.
  2. Cukup gunakan ID istilah untuk argumen dan buat alias path untuknya menggunakan modul View Alias (view_alias).
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.