วิธีคัดลอกประเภทเนื้อหา?


คำตอบ:


13

หากคุณหมายถึงการส่งออกโดยทำซ้ำให้ใช้โมดูลคุณสมบัติ

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

ฟีเจอร์จัดเตรียม UI และ API สำหรับการนำส่วนประกอบการสร้างเว็บไซต์ที่แตกต่างจากโมดูลที่มีสินค้าส่งออกและรวมเข้าด้วยกันในโมดูลฟีเจอร์เดียว โมดูลคุณลักษณะนั้นเหมือนกับโมดูล Drupal อื่น ๆ ยกเว้นว่าจะประกาศส่วนประกอบ (เช่นมุมมองบริบทฟิลด์ CCK และอื่น ๆ ) ในไฟล์. info เพื่อให้สามารถตรวจสอบอัปเดตหรือย้อนกลับโดยทางโปรแกรม


1
นี่เป็นวิธีที่ดีที่สุดในขณะนี้ น่าเสียดายที่ไม่มีโมดูล (หรือยัง) เช่นการคัดลอกเนื้อหาใน Drupal 6
marcvangend

ฉันต้องการส่งออกแล้วนำเข้าคุณหมายถึงอะไร
Raptor

2
คุณสมบัติเกินขีด จำกัด สำหรับการคัดลอกประเภทเนื้อหา มันมีวัตถุประสงค์เพื่อรวมหน่วยงาน / โมดูล / อื่น ๆ เข้าด้วยกันเพื่อวัตถุประสงค์ที่กำหนดเองสูง หากคุณต้องการสำเนาเนื้อหาอย่างง่ายให้ดูที่ @ user3936 ด้านล่าง
doub1ejack

ฉันพบว่าโมดูลรับช่วงต่อนั้นง่ายที่สุด ดูคำตอบของฉันด้านล่าง
Matt Browne

19

อาจจะสายเกินไปที่คุณจะสามารถใช้โมดูลบันเดิลคัดลอก :

บันเดิลสำเนาเป็นการแทนที่โมดูลสำเนาเนื้อหาซึ่งอยู่ในโครงการ CCK สำหรับ Drupal 6 มีการสนับสนุนการส่งออก / นำเข้าสำหรับ: ประเภทโหนด, อนุกรมวิธาน, ผู้ใช้, ฟิลด์ฟิลด์ API, กลุ่มฟิลด์

อัปเดตหมายเหตุ 7.x-2.x-dev

เพิ่มคุณสมบัติต่อไปนี้แล้ว:

  • ส่งออก / นำเข้าของ Field Collection
  • การโคลนประเภทเนื้อหา
  • ส่งออก / นำเข้ากลุ่มธุรกิจการค้า

Drupal 8: Bundle Copy อยู่ใน Drupal 8 Core CMI


1
Bundle Copy ไม่เหมาะสำหรับการโคลนประเภทเนื้อหาไปยังประเภทเนื้อหาอื่นในเว็บไซต์เดียวกัน และการทำการค้นหา / แทนที่ไม่ได้เป็นไปข้างหน้า มีโหนดอาร์เรย์ที่อ้างอิงประเภทเนื้อหาอื่น ๆ ฉันยังไม่ได้คิดออกมา แต่ได้ขอให้ไข้ ถ้าฉันรู้ว่าอะไรปลอดภัยและไม่ปลอดภัยที่จะเปลี่ยนมันจะเป็นประโยชน์ เพียงแค่คำเตือน (ผู้ใช้รายหนึ่งที่ตอบสนองต่อคำขอเดียวกันนี้ตั้งข้อสังเกตว่าเขามีข้อผิดพลาด db เสียหายเมื่อทำการค้นหา / แทนที่ชื่ออินสแตนซ์ของเครื่องประเภทเนื้อหาต้นฉบับทั้งหมด

@ user7558 Bundle Copy ไม่เหมาะสำหรับการโคลนประเภทเนื้อหาไปยังประเภทเนื้อหาอื่นในเว็บไซต์เดียวกัน ใช่แล้วคุณแค่ต้องการการแทรกแซงด้วยมือที่เล็กที่สุด
Clive

มีปัญหาสำหรับ "การโคลนประเภทเนื้อหาในไซต์เดียวกัน" drupal.org/node/1589118
กาการี

1
7.x-2.x-dev รองรับการโคลนประเภทเนื้อหาบนเว็บไซต์เดียวกันผ่าน UI
mpdonadio

ฉันคิดว่า Bundle Copy เป็นตัวเลือกที่ชื่นชอบเช่นเดียวกับการใช้คุณสมบัติในการแก้ไขโค้ดที่สร้างด้วยมือเพื่อค้นหา / แทนที่ / เปลี่ยนชื่อรหัสประเภทเนื้อหาที่สร้างขึ้น หากไม่มีใครรู้รหัสคุณสมบัติของโมดูลรวมถึงวิธีการสร้างรหัสนี้อาจมีข้อสงสัย / สมมติฐานเกี่ยวกับการเขียนโปรแกรมด้วยมือด้วยวิธีนี้และผลลัพธ์ที่ไม่ดี อัปเดตเมื่อ 1 ต.ค. '14 ความคิดเห็น 1 จาก 2
therobyouknow

14

ฉันใช้โมดูลเครื่องมือเขตข้อมูลและทำงานได้อย่างไม่มีที่ติ

สิ่งที่ฉันทำคือสร้างเนื้อหาประเภทที่สองใช้ฟังก์ชั่นโมดูลนี้เพื่อโคลนฟิลด์ทั้งหมดเป็นประเภทเนื้อหาใหม่จากนั้นถอนการติดตั้งโมดูล ดูเหมือนว่าการคัดลอกและฟีเจอร์แบบกลุ่มน่าจะเป็นวิธีที่ไร้สาระในการทำซ้ำประเภทเนื้อหานี่เป็นเรื่องง่ายและตรงตามที่ฉันต้องการ


หากสิ่งที่คุณต้องการทำคือทำซ้ำประเภทเนื้อหาที่กำหนดเองที่ซับซ้อนนี่คือวิธีที่จะไป คุณสมบัติมีค่าใช้จ่ายที่ไม่จำเป็นจำนวนมากและประเภทเนื้อหาของคุณเชื่อมโยงกับโมดูลที่สร้างขึ้น bleh ใช้สิ่งนี้ ติดตั้ง / เปิดใช้งานไปที่ประเภทเนื้อหาที่คุณต้องการโคลนค้นหาClone Fieldsแท็บด้านบนเลือกฟิลด์ที่จะคัดลอกโหนดที่จะคัดลอกไปยังและคุณทำเสร็จแล้ว
doub1ejack

1
ฉันคิดว่าเครื่องมือภาคสนามเป็นวิธีที่เร็วและง่ายที่สุด ขอขอบคุณ!
Roger

สร้างใหม่ที่ว่างเปล่าเนื้อหาประเภทToolsแท็บเลือกเขตข้อมูลจากประเภทเนื้อหาโหนดที่มีอยู่Clone fields to this bundle Add field instances
Hugo

4

ฉันพบโมดูลBundle Inherit (ค่อนข้างใหม่) เป็นวิธีที่ง่ายมากในการทำเช่นนี้ อย่าลืมเปิดใช้งานโมดูล "Bundle Inheritance Node" (bundle_inherit_node) นอกเหนือจากโมดูล Bundle_inherit แล้วคุณจะได้รับแท็บ "Inheritance" ใหม่เมื่อสร้างประเภทเนื้อหาใหม่

(นอกจากนี้ยังให้คุณเลือกระหว่าง "soft สืบทอด" และ "เข้มงวดสืบทอด" ... เท่าที่ฉันสามารถรวบรวม "soft สืบทอด" เพียงแค่คัดลอกเขตข้อมูลเพียงครั้งเดียวในขณะที่ "เข้มงวดสืบทอด" ติดตามการ ลำดับชั้นการสืบทอด)


4

วิธีที่ง่ายที่สุดคือการใช้Bundle Copy - เวอร์ชั่น 7.2 ซึ่งกำลังพัฒนา แต่ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน

หลังจากติดตั้งโมดูลแล้วไปที่หน้า "ประเภทเนื้อหา" ของคุณแล้วคลิกที่แท็บ "โคลน" ใหม่

ภายใต้ "กลุ่มที่มา" ให้เลือกประเภทเนื้อหาที่คุณต้องการโคลน

ใน "ชื่อชุดรวมใหม่" ป้อนชื่อประเภทเนื้อหาใหม่ที่คุณต้องการสร้าง คลิกที่ "โคลน" และตอนนี้คุณจะเห็นประเภทเนื้อหาใหม่ในรายการของคุณ

เครื่องมือภาคสนามยังทำงานได้ แต่ก็ไม่ได้ตรงไปตรงมา



1

ไม่เช่นนั้น Content Type Clone จะช่วยให้คุณทำอย่างรวดเร็วและง่ายดายโดยไม่ต้องดูโค้ด PHP หรือทำการปรับแต่งที่ซับซ้อน:

https://www.drupal.org/sandbox/davidfiaty/2745827

มันเป็นโครงการ sandbox ในขณะนี้ แต่เร็ว ๆ นี้จะเปิดให้ใช้งานเป็นโมดูล Drupal อย่างเป็นทางการ

แก้ไข: เปิดตัว Clone Type Content อย่างเป็นทางการสำหรับ Drupal 7 อยู่ที่นี่แล้ว! https://www.drupal.org/project/content_type_clone Drupal 8 เวอร์ชั่นเร็ว ๆ นี้

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