Saya memiliki halaman Tampilan di situs web multibahasa di mana saya memerlukan url yang berbeda untuk setiap bahasa, yaitu:
- es: mysite / apartamentos.
- id: situs saya / appartments.
- fr: mysite / appartements.
- ru: mysite / arendu.
Saya membuat alias url untuk setiap bahasa (yang merupakan situs saya / appartments meskipun bahasa default situs saya adalah Spanyol) sehingga alias Spanyol untuk appartments
adalah apartamentos
dan sebagainya. Saya membuat alias ini menggunakan configuration >> Search and Metadata >> URL aliases >> add alias
.
Saya harus meneruskan parameter kueri ke tampilan untuk memfilter hasil sehingga url saya adalah sesuatu seperti mysite / en / appartments / p / location_field / 2 dan saya punya formulir tempat saya meletakkan tindakan secara manual seperti:
echo "/".$language."/".$translated_page
di mana halaman yang diterjemahkan dapat berupa apartamentos, appartments, appartements atau arendu, membuat url tindakan:
/ es / apartamentos, / fr / appartements, / en / appartments dan / ru / arendu
Masalah saya adalah ketika formulir ini dikirim, Drupal mengirim saya ke
mysite / es / appartments / p / location_field / 2
dari pada
mysite / es / apartamentos / p / location_field / 2
dan hal yang sama terjadi untuk semua bahasa. Sisa dari hal itu tampak baik dan bahkan remah roti (yang dihasilkan menggunakan url) terlihat benar (Inicio >> Apartamentos Costa Dorada, dalam bahasa Spanyol).
Ketika saya menggunakan bahasa, sakelar ini mengalihkan saya ke halaman yang diterjemahkan dengan benar tetapi tanpa parameter kueri (dari mysite/es/appartments/p/location_field/2
situ mengirim saya ke mysite/es/apartamentos
).
Saya tidak tahu apa yang menyebabkan masalah ini, mungkin parameter kueri mengganggu interpretasi alias?
Catatan : Saya memiliki banyak modul terjemahan yang diaktifkan. Untuk modul i18n ada: blok, bidang, menu, simpul, jalur, string, taksonomi, terjemahan (set terjemahan), variabel dan tampilan.
sumber
Jawaban:
submodule i18n_path
Saya berasumsi Anda juga menggunakan modul i18n . Jadi pastikan Anda juga mengaktifkan
i18n_path
submodule (= Path translation). Lebih detail tentang itu, dari dokumentasi komunitas (marka tebal ditambahkan di sini):i18n tampilan halaman
Anda mungkin juga ingin memeriksa apakah Anda dapat membuatnya bekerja menggunakan modul tampilan halaman i18n . Beberapa detail dari halaman proyeknya:
Catatan 1 : " jika Anda tidak dapat menemukan opsi dalam tampilan untuk menerjemahkan jalur " (seperti dalam komentar Anda di bawah), maka Anda mungkin ingin melihat apa yang disebutkan dalam Komentar # 1 edisi 2389535 , yang menyatakan:
Sidik jari 1 :
Sidik jari 2 :
Catatan 2 : Untuk menjawab pertanyaan tentang " Apakah saya harus membuat seluruh halaman tampilan lagi untuk menjadikannya sebagai i18n_page? " (Seperti dalam salah satu komentar Anda (sekarang dihapus) di bawah jawaban ini), saya akan mencoba menggunakan salah satu pendekatan yang dijelaskan dalam jawaban pertanyaan di Cara menduplikasi tampilan Tampilan (yang bukan master) sebagai jenis tampilan yang berbeda? ... Jika itu tidak berhasil / diterapkan, maka rekreasi seluruh halaman tampilan sepertinya satu-satunya pilihan yang tersisa.
sumber
Hapus path-alias dan coba kodekan kasus khusus ini sendiri, menggunakan
hook_url_inbound_alter dan atau hook_url_outbound_alter
Anda juga dapat mengubah aksi dari bentuk filter yang terbuka:
Atau:
Diambil formulir di sini Bagaimana cara saya mengubah URL kirim untuk filter pencarian terbuka?
sumber