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


14

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

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

ฉันได้ลองใช้โมดูลBundle Copyแล้ว

อะไรจะเป็นวิธีที่ดีที่สุดในการโคลนประเภทเนื้อหาใด ๆ ใน Drupal 7


ฉันเพิ่งสังเกตเห็นว่าคุณลองชุดสำเนา ... ฉันใช้มันตลอดเวลาสิ่งที่ไม่ทำงาน?
ไคลฟ์


1
@NikhilM การเพิ่มฟิลด์ทำให้คำถามนี้คล้ายกัน แต่ไม่ใช่ของซ้ำที่ 11645
mpdonadio

คำตอบ:


12

วิธีที่ง่ายที่สุดคือใช้โมดูลคัดลอก Bundleแต่ถ้าคุณไม่สามารถใช้งานได้ผมขอแนะนำโมดูลจัดการการกำหนดค่า

โมดูลการจัดการการกำหนดค่าเปิดใช้งานความสามารถในการติดตามการกำหนดค่าเฉพาะบนเว็บไซต์ Drupal ให้ความสามารถในการย้ายการกำหนดค่าเหล่านี้ระหว่างสภาพแวดล้อมที่แตกต่างกัน (ในพื้นที่, dev, qa, prod) และย้ายการกำหนดค่าระหว่างไซต์ต่างๆ โดยไม่ต้องใช้โมดูลที่มีการกำหนดค่าทั้งหมดที่เป็นของเว็บไซต์

มันเป็นคุณสมบัติของสิ่งที่คุณไม่ต้องการ วัตถุประสงค์เพียงอย่างเดียวคือเพื่อย้ายการกำหนดค่าจากไซต์หนึ่งไปยังอีกไซต์หนึ่ง


จะใช้งาน Bundle copy ได้อย่างไร? ฉันได้ส่งออกประเภทบทความแล้ว - ฉันต้องทำอย่างไรเพื่อเปลี่ยนชื่อก่อนนำเข้ารหัสเดียวกัน
AgA

เพียงแค่รันสตริงแทนที่ ... แทนที่ 'old_content_type' ด้วย 'new_content_type' ฉันไม่เคยมีปัญหาในการใช้วิธีการนี้มาก่อน
Clive

ขอบคุณ ... ฉันสามารถแทนที่ "บทความ" สำหรับการโคลนประเภทเนื้อหาบทความได้หรือไม่
AgA

ใช่ แต่ต้องแน่ใจว่าการแทนที่สตริงของคุณนั้นตรงตามตัวพิมพ์ใหญ่ - เล็กและรวมถึงเครื่องหมายอะโพสโทรฟี (ไม่ใช่วิทยาศาสตร์อย่างแน่นอน) ดังนั้นโค้ด PHP จะมีลักษณะดังนี้str_replace("'article'", "'new_type'", $export_code);
ไคลฟ์

คุณหมายถึงต้องเปลี่ยนชื่อเครื่องเท่านั้นหรือ
AgA


3

ฉันได้สร้าง Clone Type Content ซึ่งมีอยู่ในโครงการ sandbox ที่นี่:

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

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

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

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

แก้ไข 2: Clone Type Content อย่างเป็นทางการสำหรับ Drupal 8 มีอยู่ในหน้าเดียวกัน


2

โมดูลคุณสมบัติเป็นตัวเลือกที่ดีที่สุด

นี่คือสิ่งที่คุณต้องทำ:

  • ส่งออกชนิดเนื้อหาที่คุณต้องการโคลนเป็นคุณลักษณะ
  • เปลี่ยนชื่อประเภทเนื้อหา (เช่นเปลี่ยน "ชื่อเครื่อง") ในเว็บไซต์ Drupal ของคุณ
  • อัปโหลดและเปิดใช้งานคุณสมบัติของคุณ

หน้านี้อาจมีคำตอบของคุณสำหรับ "วิธีที่เป็นทางการในการโคลนประเภทเนื้อหาใน Drupal 7"


1
ไม่เห็นด้วยกับขอโทษ การทำสำเนามัดนั้นง่ายต่อการใช้ (และเบากว่า) มากกว่าฟีเจอร์ การกำหนดค่า Ditto
Clive

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

+1 @Clive - เราเพิ่งใช้ Bundle Copy ที่นี่ - มันมีตัวเลือกเมนู 'โคลน' ภายใต้ 'โครงสร้าง' ในเมนู Drupal admin / config เพื่อโคลนประเภทเนื้อหา สิ่งที่เราหวังไว้เมื่อพิจารณาโมดูลนี้ ดูเหมือนว่าจะทำงานได้ดี
therobyouknow

@monymirza สิ่งนี้จะเกี่ยวข้องกับการแก้ไขโค้ดที่สร้างโดยเครื่องจักรด้วยมือเพื่อค้นหา / แทนที่ / เปลี่ยนชื่อรหัสชนิดเนื้อหาที่สร้างคุณลักษณะ หากไม่มีใครรู้รหัสคุณสมบัติของโมดูลรวมถึงวิธีการสร้างรหัสนี้อาจมีข้อสงสัย / สมมติฐานเกี่ยวกับการเขียนโปรแกรมด้วยมือด้วยวิธีนี้และผลลัพธ์ที่ไม่ดี ใช้รุ่น dev (ในขณะที่เขียน, ปัจจุบัน 7.x-2.x-dev) ของ Bundle Copy (แก้ไขความคิดเห็นดั้งเดิมของฉันที่ทำไว้ในวันที่ 1 ต.ค. '14 ที่ 10:29 เพื่อพูดถึงฟังก์ชั่นการใช้งานในรุ่น dev) ในขณะนี้ ตัวเลือกเมนู 'โคลน' ในเมนู 'โครงสร้าง' ออกจากกล่องมันถูกสร้างขึ้นสำหรับงานนี้
therobyouknow
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.