Làm thế nào để giữ cho ghi đè cập nhật?


10

Như nhiều người biết, có thể ghi đè lên các mẫu, dạng xem, mô-đun, thành phần.

Vấn đề chính là khi Joomla! được cập nhật và các mục được ghi đè (trong thư mục mẫu) sẽ bị lỗi thời.

Làm cách nào để giữ cho phần ghi đè được cập nhật mỗi khi cập nhật lên Joomla?

Tôi có cần phải làm bằng tay và kiểm tra từng bản cập nhật mới không, hoặc có cách nào khác để làm điều này không?

Câu trả lời:


4
  1. Viết một tập lệnh nhỏ tính toán md5 của các tệp gốc mà bạn đã thực hiện quá mức.
  2. Kết xuất các đường dẫn tệp và MD5 này vào một tệp trong mẫu của bạn
  3. Bất cứ khi nào j Joomla được cập nhật, hãy chạy lại đoạn script trên.
  4. Kiểm tra sự khác biệt trong MD5, nếu có thì bạn cần kiểm tra nó.

Mẹo: Ghi đè các tệp chỉ khi những thay đổi đó không thể được thực hiện bằng cách ghi đè CSS.


Đây có vẻ là một ý tưởng hay, nhưng việc bình luận ghi đè rõ ràng sẽ làm cho md5 khác biệt so với các bản cập nhật / không cập nhật có thể đến từ một bản cập nhật, vì vậy điều này sẽ không hoạt động.
jackJoe

1
Tôi đang yêu cầu MD5 tệp gốc (từ thư mục xem thành phần), không phải ghi đè (tệp bạn đã tạo trong thư mục mẫu).
Shyam

1
Ah! Tôi hiểu rồi! bằng cách đó tôi có thể thấy những tập tin nào tôi đã thay đổi với bản cập nhật. Đó là một ý tưởng hay, tôi có thể sử dụng một hệ thống phiên bản và có một nhánh chỉ với các tệp được ghi đè, theo cách đó tôi không thực sự cần phải viết bất kỳ tập lệnh nào.
jackJoe

12

Khi lõi Joomla được cập nhật, không có phần ghi đè nào trong thư mục mẫu của bạn sẽ bị ảnh hưởng. Đó là lý do tại sao chúng tồn tại.

Trên các mục Joomla cốt lõi, các phần ghi đè sẽ hiếm khi xung đột với các bản cập nhật lõi của Joomla. Khi bạn ghi đè các tệp lõi Joomla hoặc bất kỳ tệp nào, tài liệu tài liệu tài liệu. Nhận xét trong tệp ghi đè là TIÊU CHUẨN nếu điều này sẽ xảy ra với bạn thường xuyên và bạn quản trị nhiều hơn một hoặc hai trang web. Bạn sẽ không nhớ những gì bạn đã thay đổi!

Trình chỉnh sửa mã của bạn nên có một tính năng "khác", để so sánh tệp mới với tệp cũ và xác định từng dòng những thay đổi đã được thực hiện. Nếu bạn đã nhận xét tốt, sự khác biệt này sẽ cho bạn thấy chính xác những gì đã thay đổi và nếu tệp bị ảnh hưởng bởi bản cập nhật. Những thay đổi duy nhất của bạn phải là phần ghi đè của bạn ... bất cứ điều gì khác và bạn phải đi và ghi đè lại.

Tuy nhiên, phần ghi đè của bên thứ ba chỉ trở thành vấn đề nếu nhà phát triển không sử dụng đúng cấu trúc MVC. Nếu một thành phần hoặc mô-đun được đặt ra một cách thích hợp, tmpl hoặc khung nhìn được đề cập sẽ không bị ảnh hưởng bởi các cập nhật mã.

Nếu có sự thay đổi tính năng chính trong tiện ích mở rộng đó, chắc chắn bạn sẽ cần ghi lại tài liệu / nhận xét và so sánh các tệp.


Một ví dụ về các lượt xem bị ảnh hưởng bởi bản cập nhật cốt lõi là với Joomla 2.5.16 đến 2.5.18, trong đó trang web của tôi bị hỏng do thành phần com_content có bản cập nhật trong chế độ xem Đây difflà thứ tôi sử dụng, nhưng khi có nhiều ghi đè, nó là tẻ nhạt và với nhiều trang web khác nhau, rất khó để làm cho mỗi trang.
jackJoe

Đây là một khái niệm thú vị, để tự động tìm các tệp khác nhau khi cập nhật. Hàm diff tồn tại trong PHP. Nó có thể được thực hiện ... bởi một số nhà phát triển khác ngoài tôi;)
Toni Marie

3

Có, bạn phải so sánh các tệp mỗi lần bằng tay và cập nhật các thay đổi. Trên các bản cập nhật nhỏ, cơ hội tương đối nhỏ mà bạn phải điều chỉnh chúng, nhưng trên các bản nâng cấp lớn, các tệp bị ghi đè có thể thay đổi đáng kể. Tôi cũng thích một cách dễ dàng hơn, nhưng đó là giải pháp ATM duy nhất.


0

Một ghi đè không nên thay đổi trong bất kỳ phiên bản Joomla nào. Tuy nhiên, nếu bạn tìm thấy bất kỳ tệp nào bị thay đổi, điều bạn có thể làm là quản lý toàn bộ cài đặt Joomla trong lật đổ.

Sau đó, bạn cũng có thể quản lý các phiên bản mã Joomla thích hợp trong lật đổ và thực hiện http://svnbook.red-bean.com/en/1.7/svn.advified.vendorbr.html

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.