ฉันจะใช้ชื่อแทน URL ในเมนูได้อย่างไร


14

ฉันกำลังเตะยางบน Drupal 7 โดยการหมุนไซต์ทดสอบ

ฉันเลือกชุดรูปแบบ Danland และสร้างหน้าต่างๆพร้อม URL ชื่อแทนสำหรับแต่ละรายการ แต่เมื่อฉันสร้างลิงค์เมนูสำหรับแต่ละรายการฉันสามารถป้อนโหนดในฟิลด์ "เส้นทาง" สำหรับลิงก์เมนูเท่านั้นไม่ใช่นามแฝง ดังนั้นฉันสามารถป้อน "node / 20" และไม่ใช่ "about-us" (นามแฝงสำหรับโหนด) ในเมนู

ฉันต้องการให้รายการเมนูเพื่อแก้ไขนามแฝงไม่ใช่โหนด
ฉันจะทำอย่างไร


3
เมื่อแสดงลิงค์ของเมนูจะใช้ชื่อแทนพา ธ ที่กำหนด มีเหตุผลอะไรที่ทำให้ไม่พอ?
Berdir

ฉันดูเหมือนจะไม่ทำอย่างนั้น ไม่แน่ใจว่าฉันขาดการตั้งค่าบางอย่างหรืออะไร - ดู: reboot.researchvessels.org/about-usซึ่งทำงานเป็นนามแฝง แต่ฉันไม่สามารถทำให้ลิงก์เมนูไปที่นั่นได้ ฟิลด์พา ธ ยอมรับ URL ภายนอกหรือการอ้างอิงโหนดเท่านั้น
cpuguru

ฉันมีปัญหาเดียวกัน "เมนูหลัก" ของฉันทำงานได้ดีกับนามแฝง ฉันสร้างเมนูใหม่ นี่เป็นเพียงสิ่งเดียวที่จะไม่บันทึกนามแฝง ยิ่งไปกว่านั้นมันแตกอย่างสมบูรณ์เพราะเมื่อฉันไปที่ "node / 10" แล้วฉันต้องการคลิกที่หน้าอื่นลิงค์เมนูมี "node" พิเศษดังนั้นมันจึงชี้ไปที่ "node / node / 10" "node / node / 11" เป็นต้นถ้าฉันใช้พา ธ สัมบูรณ์แล้วฉันจะไปยังหน้าที่ถูกต้อง แต่ฉันต้องการให้เมนูสามารถรับรู้ได้โดยอัตโนมัติว่าเพจใดที่ใช้งานอยู่มันไม่รู้จักว่า URL ที่แน่นอนนั้นเป็นเส้นทางที่ฉันอยู่ css class "active" ไม่ได้รับการตั้งค่าอย่างเหมาะสม ฉันมี drupal 7.2

คำตอบ:


7

เช่นเดียวกับ Berdir ที่กล่าวถึงในความคิดเห็นและ Greg กล่าวถึงในคำตอบของเขาวิธีการต่อไปนี้ของการเพิ่มชื่อแทนเส้นทางควรJust Work ™:

  • การเพิ่มลงในแบบฟอร์มการส่งโหนดระหว่างการสร้าง / แก้ไขโหนด
  • การใช้Pathautoเพื่อสร้างนามแฝงสำหรับโหนดโดยอัตโนมัติ
  • การเพิ่มชื่อแทนด้วยตนเองโดยไปที่การกำหนดค่าค้นหาและข้อมูลเมตาชื่อแทน URL

ว่ามันไม่ได้ทำนั่นแปลก ลองล้างแคชของคุณได้โดยไปที่การตั้งค่าคอนฟิกพัฒนา → ผลการดำเนินงาน สิ่งนี้จะสร้างเมนูของ Drupal ขึ้นมาใหม่และขอเส้นทางนามแฝงเพื่อแสดงอย่างถูกต้อง


1
ฉันคิดว่า Global Redirect มีผลต่อความละเอียดของ URL เท่านั้นไม่ใช่ลิงก์ออก ฉันใช้ Global Redirect ตั้งแต่เริ่มต้นในทุกไซต์ของฉัน - ฉันไม่แน่ใจว่า Drupal ทำงานอย่างไรหากไม่มีมัน
เกร็ก

@Greg คุณถูกต้อง; ฉันเพิ่มมันเป็นวิธีแก้ปัญหาที่เป็นไปได้ แต่มันไม่ได้ทำอะไรเพื่อแก้ปัญหาหลักดังนั้นฉันจึงลบมัน

นามแฝงใช้งานได้ แต่ฉันไม่สามารถป้อนเส้นทางที่มีนามแฝงลงในเมนูเป็นปลายทางได้เพียง URL ภายนอกหรือ "node / x" ฉันไม่สามารถบอกให้ไปที่ "เกี่ยวกับเรา" สำหรับรายการเมนูเพียง "โหนด / 20" ดังนั้นคำถามคือฉันจะเข้าไปเกี่ยวกับนามแฝงเป็นปลายทางไม่ใช่โหนดได้อย่างไร
cpuguru

ฉันล้างแคชและยังลบและสร้างหน้าเกี่ยวกับเราอีกครั้งและยังไม่มีความสุข
cpuguru

ฉันเพิ่งติดตั้งโมดูล Global Redirect และยังไม่มีโชค - drupal.org/project/globalredirect
cpuguru

4

ฉันอาจเป็นได้ว่าคุณกำลังใช้งานเว็บไซต์ในภาษาอื่นนอกเหนือจากชื่อแทน URL ที่สร้างขึ้น หากคุณสร้างนามแฝงขณะเรียกดูในภาษาเยอรมัน (พูด) ผู้เยี่ยมชมที่เรียกดูเว็บไซต์ในโหมดภาษาอังกฤษจะยังคงเห็นโหนด / 234234 เพียงแค่ปลาย


0

หากคุณกำหนดทั้งนามแฝงพา ธ และรายการเมนูโดยใช้แบบฟอร์มเพิ่ม / แก้ไขโหนดรายการเมนูที่สร้างขึ้นจะใช้เส้นทางนามแฝง สำหรับกรณีที่ใช้ง่ายคุณไม่จำเป็นต้องสร้างนามแฝงด้วยตนเองบนadmin/config/search/pathหน้าหรือสร้างรายการเมนูด้วยตนเองบนadmin/structure/menuหน้า


ฉันสามารถสร้างชื่อแทนและทำงานได้ถ้าฉันไปหาพวกเขาโดยตรง แต่ฉันไม่สามารถหาวิธีกำหนดค่าเมนูเพื่อใช้งานได้ ตัวเลือกเดียวที่มีอยู่ดูเหมือนจะเป็น "node / xx" สำหรับฟิลด์ Path และเมื่อคุณคลิกที่ลิงค์จะแสดง site / node / xx ในฟิลด์ address และไม่ใช่ชื่อแทน URL
cpuguru

@cpuguru - หากคุณลบ alias และไอเท็มเมนูจากนั้นสร้าง alias และไอเท็มเมนูจากฟอร์มแก้ไขโหนดรายการเมนูยังไม่ใช้นามแฝงหรือไม่?
เกร็ก

ไม่ฉันเพิ่งลองอีกครั้งด้วยหน้า "พันธมิตร" ลบ Alias ​​และไอเท็มเมนูจากนั้นเพิ่มเพจ "Partnerships" เพิ่ม Alias ​​และเพิ่มไปยังเมนูและมันยังคงปรากฏในเมนูเป็น "node / 21"
cpuguru

0

ฉันเพิ่งลองติดตั้ง d7 ใหม่โดยใช้ชุดรูปแบบ Danland และทำงานได้อย่างถูกต้อง หากคุณไม่สามารถใช้งานได้คุณสามารถระบุ URL ภายนอกในเมนูของคุณใช่ไหม เช่น 'http://yourdomain.com/about-us' intead ของ 'node / 1'


0

ดูเหมือนว่าการอัปเดตการติดตั้ง Drupal ของฉันจาก Drupal 7 ไปเป็น Drupal 7.2 ที่เพิ่งเปิดตัวใหม่ช่วยแก้ไขปัญหาได้ ไม่ว่าจะเป็นหรือไดรเวอร์ SQL Server ที่อัปเดตซึ่งเพิ่งวางจำหน่ายซึ่งคุณจะต้องติดตั้งไดรเวอร์ PDO SQL Server ดั้งเดิมเพื่อให้สคริปต์การอัปเดตทำงานหากคุณกำลังอัปเดตเป็น Drupal 7.2

ไม่ว่าจะด้วยวิธีใดตอนนี้ URL ที่ใช้นามแฝงจะปรากฏขึ้นเมื่อฉันคลิกที่ลิงก์เมนู ดังนั้นอาจเป็นได้ว่าการเปลี่ยนแปลงรหัสใน Drupal core 7.2 หรือการอัปเดตไดรเวอร์ของ SQL Server ฉันไม่แน่ใจ 100% ว่าอันไหนมันคือ


0

เท็มเพลตธีมสามารถถูกแทนที่ด้วยนามแฝง URL ด้วยวิธีต่อไปนี้

  1. เพิ่มฟังก์ชัน preprocess ในไฟล์เท็มเพลตธีม
  2. รับนามแฝง URL แล้วเลือกไฟล์เทมเพลต

คำอธิบายที่เต็มไปด้วยรหัสจะได้รับในวิธีการสร้างแม่แบบสำหรับการสร้างขึ้นในหน้าผู้ดูแลระบบ Drupal ด้วย URL นามแฝง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.