ฉันมีการโยกย้ายที่สร้างโหนดจากไฟล์ CSV นี่ไม่ใช่การส่งออกจากไซต์ Drupal อื่น มันทำงานตามที่คาดไว้จนกว่าฉันจะพยายามเพิ่มโหนดที่โอนย้ายไปยังรายการเมนูที่ระบุ
ในไฟล์การย้ายข้อมูลต่อไปนี้ สิ่งพิมพ์_create_nodes ทำงานสำเร็จ ฉันสามารถสร้างรายการเมนูสำหรับแต่ละโหนดได้ดังต่อไปนี้
กระบวนการ:
เมนู_ชื่อ:
ปลั๊กอิน: default_value
default_value: 'หลัก'
นิด:
ปลั๊กอิน: การโยกย้าย_lookup
การโยกย้าย:
- สิ่งพิมพ์_create_nodes
รหัสแหล่งที่มา:
สิ่งพิมพ์_create_nodes:
- รหัส
'ลิงค์/ยูริ':
ปลั๊กอิน: concat
แหล่งที่มา:
- ค่าคงที่ / เส้นทาง
- '@นิด'
หัวเรื่อง: หัวเรื่อง
พ่อแม่:
ปลั๊กอิน: menu_link_parent
แหล่งที่มา:
- 462
- 'หลัก'
- '/สิ่งพิมพ์'
ภายนอก:
ปลั๊กอิน: default_value
default_value: 0
ขยาย:
ปลั๊กอิน: default_value
default_value: 0
เปิดใช้งาน:
ปลั๊กอิน: default_value
default_value: 1
รหัสภาษา:
ปลั๊กอิน: default_value
default_value: 'en'
โหนดทั้งหมดเหล่านี้ถูกเพิ่มไปที่ระดับบนสุดของเมนูหลัก
พ่อแม่:
ปลั๊กอิน: menu_link_parent
แหล่งที่มา:
- 462
- 'หลัก'
- '/สิ่งพิมพ์'
สถานะที่ฉันต้องการคือ:
- ปิด
- เมนู_ชื่อ
- parent_link_path
ฉันได้ค่า plid จากฐานข้อมูล
เลือก UUID จาก menu_link_content WHERE id IN (เลือก id จาก menu_link_content_data WHERE title = "สิ่งพิมพ์");
ฉันใช้ผลลัพธ์จากสิ่งนั้นในแบบสอบถาม SQL ต่อไปนี้
เลือก mlid จาก menu_tree โดยที่ id =('menu_link_content:e7e5dcf2-110a-41ca-928d-5ff353a311fd');
ค่า plid ที่คาดไว้ในการย้ายมาจากต้นทาง ไม่ใช่ปลายทาง เนื่องจากฉันไม่มีรายการเมนูต้นทาง ฉันจึงไม่แน่ใจว่าจะเพิ่มลิงก์ไปยังพาเรนต์เมนูเฉพาะได้อย่างไร
ตามหลักการแล้ว ฉันต้องการมีค่า mlid ปลายทางเป็นส่วนหนึ่งของข้อมูล CSV เพื่อกำหนดแต่ละโหนดที่สร้างขึ้นให้กับรายการเมนูพาเรนต์ที่มีอยู่มิฉะนั้น ฉันจะมีโหนดประมาณ 600 โหนดที่ระดับบนสุดของเมนูหลัก และเพื่อหาว่าโหนดนั้นอยู่ตรงไหน