พบปัญหา URL aliases ใช้ไม่ได้ กับเว็บหลายภาษา

By poakpong
  • ทำเว็บหลายภาษา โดยใช้ modules : Locale + Content translation
  • ใช้ pathauto ในการสร้าง URL alias สำหรับแต่ละโหนด
  • เวลาสร้างเนื้อหา จะมีช่องให้เลือกว่าเป็นภาษาอะไร มีตัวเลือกคือ Language neutral, Thai และ English (default เป็นภาษาไทย)

แต่ปัญหาคือ URL alias ของเนื้อหาที่เป็นภาษาอังกฤษ จะเปิดไม่ได้ (แต่ Language neutral และ Thai เปิดได้ปกติ)

มีวิธีตรวจสอบอะไรเพิ่มเติมมั้ยฮะ

7 comments

รูปภาพของ Karatae99
By Karatae99
1 ปี 29 weeks ago

ภาษาแรก เกิดจากการ Create

ภาษาแรก เกิดจากการ Create content ครับ

ส่วน ภาษาที่ 2, 3, 4, ... เกิดจากการ Translate ครับ

ที่คุณทำ เป็นแบบนี้รึป่าว? ถ้าทำแบบนี้.. URL alias ก็น่าจะใช้ได้ ^^

รูปภาพของ poakpong
By poakpong
1 ปี 29 weeks ago

ไม่ได้ใช้การ Translate

ไม่ได้ใช้การ Translate แต่ใช้วิธี create content แล้วเลือกเป็นภาษาอื่นโดยตรงครับ (เช่น English)

รูปภาพของ Karatae99
By Karatae99
1 ปี 29 weeks ago

ผมก็คิดแล้วว่าคุณต้องทำแบบนั้

ผมก็คิดแล้วว่าคุณต้องทำแบบนั้น ก็เลยไม่ได้ ^__^

แบบนั้นมันจะไม่จับคู่ภาษาครับ จะแยกกันโดยสิ้นเชิง ต้อง Translate ครับ

รูปภาพของ poakpong
By poakpong
1 ปี 29 weeks ago

เว็บ 2 ภาษา แต่เนื้อหาไม่ได้

เว็บ 2 ภาษา แต่เนื้อหาไม่ได้ เหมือนกันเป๊ะ เลยไม่ได้ใช้วิธีแปล (จับคู่)

แต่ใช้วิธีสร้างเนื้อหาแบบแยกจากกัน แล้วกำหนดใน node ว่าเป็นภาษาอะไร

คือจากที่เข้าไปดูในรายการ URL alias เนื้อหาภาษาอังกฤษ จะถูกกำหนดภาษาของ url ไว้เป็น English ซึ่งคลิกไม่ได้ เช่น en/about

แต่ถ้าไปแก้ไขเปลี่ยนภาษาของ url นั้นๆ เป็น Thai หรือ All language ก็จะใช้งาน url alias นั้นได้ (ไม่ได้แก้ไข path "en/about" อะไรเลย)

รูปภาพของ Karatae99
By Karatae99
1 ปี 29 weeks ago

ผมลองทำตามที่คุณ poakpong

ผมลองทำตามที่คุณ poakpong บอกแล้วนะครับ ได้ผลดังนี้

1.Create content แล้วเลือกภาษา เป็น Thai พิมพ์ Title ว่า ภาษาไทย จะได้..

http://localhost/drupal/ภาษาไทย <<เมื่อคลิก Language switcher เป็น ภาษาไทย ครับ และ

http://localhost/drupal/en/node/1 <<เมื่อคลิก Language switcher เป็น English ครับ

2.Create content แล้วเลือกภาษา เป็น English พิมพ์ Title ว่า english จะได้..

http://localhost/drupal/en/english << เมื่อคลิก Language switcher เป็น English ครับ และ

http://localhost/drupal/node/2 << เมื่อคลิก Language switcher เป็น ภาษาไทย ครับ

อย่างผมนี่ URL aliases ใช้ไม่ได้ ด้วยรึป่าวครับ? (ชักไม่แน่ใจในคำถาม)

รูปภาพของ poakpong
By poakpong
1 ปี 29 weeks ago

ทดลองแล้วครับ

ทดลองแล้วครับ ใช้ได้ผลตามคำแนะนำด้านบน

แต่จะต้องคลิกผ่าน Language switcher ก่อน แล้วถึงจะเปิด link (url alias) ในภาษานั้นๆ ได้ (อีกภาษานึงจะใช้งานไม่ได้)

แล้วมีวิธี ให้สามารถเปิดทั้ง 2 ภาษา โดยไม่ต้องคลิก Language switcher รึป่าวครับ

รูปภาพของ poakpong
By poakpong
1 ปี 28 weeks ago

แก้ปัญหาได้แล้วครับ ใช้

แก้ปัญหาได้แล้วครับ ใช้ modules i18n เพิ่มเติม -- ตอนนี้ใช้ได้เรียบร้อยแล้ว :p