จะอัปเดตการแทนที่อย่างไร


10

อย่างที่ทราบกันดีว่ามันเป็นไปได้ที่จะแทนที่เทมเพลต, มุมมอง, โมดูล, ส่วนประกอบ

ปัญหาหลักคือเมื่อ Joomla! มีการอัปเดตและรายการที่อยู่เหนือกว่า (ในโฟลเดอร์แม่แบบ) จะล้าสมัย

ฉันจะติดตามการอัปเดตทุกครั้งที่อัปเดตเป็น Joomla ได้อย่างไร

ฉันต้องทำด้วยตัวเองและตรวจสอบการอัพเดทใหม่แต่ละครั้งหรือมีวิธีอื่นในการทำเช่นนี้หรือไม่?

คำตอบ:


4
  1. เขียนสคริปต์ขนาดเล็กซึ่งคำนวณ md5 ของไฟล์ต้นฉบับที่คุณได้ทำไปแล้ว
  2. ดัมพ์พา ธ ไฟล์และ MD5 เหล่านี้ไปยังไฟล์ในเทมเพลตของคุณ
  3. เมื่อใดก็ตามที่มีการปรับปรุง joomla ให้เรียกใช้สคริปต์ข้างต้นอีกครั้ง
  4. ตรวจสอบความแตกต่างใน MD5 ถ้ามีคุณจำเป็นต้องตรวจสอบ

เคล็ดลับ:แทนที่ไฟล์เฉพาะในกรณีที่ CSS ไม่สามารถทำการเปลี่ยนแปลงเหล่านั้นได้


ดูเหมือนว่าเป็นความคิดที่ดี แต่การแสดงความคิดเห็นการแทนที่จะทำให้ md5 แตกต่างอย่างเห็นได้ชัดเมื่อเทียบกับสิ่งที่อัปเดต / ไม่ได้อัปเดตซึ่งอาจมาจากการอัปเดตดังนั้นสิ่งนี้จะไม่ทำงาน
jackJoe

1
ฉันกำลังขอไฟล์ต้นฉบับ MD5 (จากโฟลเดอร์มุมมองคอมโพเนนต์) ไม่ใช่การแทนที่ (ไฟล์ที่คุณสร้างในโฟลเดอร์แม่แบบ)
Shyam

1
อา! ฉันเห็น! ด้วยวิธีนี้ฉันจะเห็นว่าไฟล์ใดที่ฉันแทนที่ด้วยการอัปเดต นั่นเป็นความคิดที่ดีฉันสามารถใช้ระบบการกำหนดรุ่นและมีสาขาที่มีเพียงไฟล์ overriden ด้วยวิธีที่ฉันไม่จำเป็นต้องเขียนสคริปต์ใด ๆ
jackJoe

12

เมื่อมีการอัปเดต Joomla core จะไม่มีการแทนที่ในโฟลเดอร์แม่แบบของคุณ นั่นเป็นเหตุผลที่พวกเขามีอยู่

ในรายการ Joomla หลักการแทนที่จะเกิดขึ้นแทบจะไม่ขัดแย้งกับการอัปเดตหลักของ Joomla เมื่อคุณแทนที่ไฟล์ Joomla หลักหรือไฟล์ใด ๆ เอกสารเอกสารเอกสาร การแสดงความคิดเห็นในไฟล์แทนที่เป็นสิ่งสำคัญหากสิ่งนี้เกิดขึ้นกับคุณเป็นประจำและคุณเป็นผู้ดูแลไซต์มากกว่าหนึ่งหรือสองแห่ง คุณแค่จำไม่ได้ว่าคุณเปลี่ยนอะไร!

เครื่องมือแก้ไขรหัสของคุณควรมีคุณสมบัติ "diff" เพื่อเปรียบเทียบไฟล์ใหม่กับไฟล์เก่าและระบุบรรทัดต่อบรรทัดว่ามีการเปลี่ยนแปลงอะไร หากคุณแสดงความคิดเห็นเป็นอย่างดีการเผยแพร่นี้จะแสดงสิ่งที่เปลี่ยนแปลงและหากไฟล์ได้รับผลกระทบจากการอัปเดต การเปลี่ยนแปลงเพียงอย่างเดียวของคุณคือการแทนที่ ... สิ่งอื่นใดและคุณต้องไปและแทนที่ใหม่

อย่างไรก็ตามการแทนที่บุคคลที่สามจะกลายเป็นปัญหาเฉพาะในกรณีที่ผู้พัฒนาไม่ได้ใช้โครงสร้าง MVC อย่างถูกต้อง หากวางองค์ประกอบหรือโมดูลอย่างเหมาะสม tmpl หรือมุมมองที่เป็นปัญหาไม่ควรได้รับผลกระทบจากการอัพเดตโค้ด

หากมีการเปลี่ยนแปลงคุณสมบัติที่สำคัญในส่วนขยายนั้นคุณจะต้องจัดทำเอกสาร / ความคิดเห็นและเปรียบเทียบไฟล์


ตัวอย่างหนึ่งของการแทนที่มุมมองที่ได้รับผลกระทบจากการอัปเดตหลักคือ Joomla 2.5.16 ถึง 2.5.18 ซึ่งฉันมีเว็บไซต์ที่เสียเนื่องจากองค์ประกอบ com_content มีการอัปเดตในมุมมอง ... นี่diffคือสิ่งที่ฉันใช้ แต่เมื่อมีหลาย ๆ แทนที่มันน่าเบื่อและมีเว็บไซต์ต่าง ๆ ยากมากสำหรับแต่ละ
jackJoe

เป็นแนวคิดที่น่าสนใจในการอัพเดทไฟล์ต่าง ๆ โดยอัตโนมัติ มีฟังก์ชั่น diff อยู่ใน PHP มันสามารถทำได้ ... โดยนักพัฒนาอื่น ๆ นอกเหนือจากฉัน;)
Toni Marie

3

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


0

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

จากนั้นคุณสามารถจัดการรุ่นรหัส Joomla ที่เหมาะสมในการโค่นล้มและทำการรวมผู้จำหน่ายhttp://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html

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