Bagaimana agar pembaruan tetap diganti?


10

Seperti banyak yang tahu, dimungkinkan untuk mengganti template, tampilan, modul, komponen.

Masalah utama adalah ketika Joomla! diperbarui, dan item yang diganti (dalam folder template) menjadi usang.

Bagaimana cara menjaga pembaruan timpa setiap kali pembaruan dilakukan ke Joomla?

Apakah saya perlu melakukannya dengan tangan dan memeriksa setiap pembaruan baru, atau adakah cara lain untuk melakukan ini?

Jawaban:


4
  1. Tulis skrip kecil yang menghitung md5 dari file asli yang Anda lakukan over-riding.
  2. Buang path file ini dan MD5 ke file di template Anda
  3. Setiap kali joomla diperbarui, jalankan kembali skrip di atas.
  4. Periksa perbedaan dalam MD5, jika ada maka Anda perlu memeriksanya.

Tip: Mengganti file hanya jika perubahan itu tidak dapat dilakukan dengan menimpa CSS.


Ini sepertinya ide yang bagus, tetapi mengomentari penimpaan jelas akan membuat md5 berbeda dari yang diperbarui / tidak diperbarui yang mungkin berasal dari pembaruan, jadi ini tidak akan berhasil.
jackJoe

1
Saya meminta file asli MD5 (dari folder tampilan komponen), bukan menimpa (file yang Anda buat di folder template).
Shyam

1
Ah! Saya melihat! dengan cara itu saya bisa melihat file mana yang saya overbag berubah dengan pembaruan. Itu ide yang bagus, saya bisa menggunakan sistem versi dan memiliki cabang hanya dengan file yang ditimpa, dengan cara itu saya tidak benar-benar perlu menulis skrip apa pun.
jackJoe

12

Ketika inti Joomla diperbarui, tidak ada penggantian dalam folder template Anda yang akan terpengaruh. Itu sebabnya mereka ada.

Pada item inti Joomla, penggantian jarang jarang bertentangan dengan pembaruan inti Joomla. Ketika Anda menimpa file inti Joomla, atau file apa pun, dokumentasikan dokumen dokumen. Mengomentari dalam file override adalah KRITIS jika ini akan terjadi pada Anda secara teratur dan Anda admin lebih dari satu atau dua situs. Anda tidak akan ingat apa yang Anda ubah!

Editor kode Anda harus memiliki fitur "diff", untuk membandingkan file baru dengan yang lama dan mengidentifikasi baris demi baris perubahan apa yang dilakukan. Jika Anda telah berkomentar dengan baik, perbedaan ini akan menunjukkan kepada Anda apa yang telah diubah dan jika file dipengaruhi oleh pembaruan. Satu-satunya perubahan Anda harus menjadi penggantian Anda ... hal lain dan Anda harus pergi dan menimpa kembali.

Namun, pengesampingan pihak ketiga menjadi masalah hanya jika pengembang tidak menggunakan struktur MVC dengan benar. Jika komponen atau modul diletakkan dengan tepat, tmpl atau tampilan yang dipermasalahkan tidak boleh terpengaruh oleh pembaruan kode.

Jika ada perubahan fitur utama dalam ekstensi itu, Anda pasti perlu mendokumentasikan / berkomentar dan membandingkan file.


Salah satu contoh penayangan yang terpengaruh oleh pembaruan inti adalah dengan Joomla 2.5.16 hingga 2.5.18, di mana situs saya rusak karena komponen com_content memiliki pembaruan dalam tampilan ... Inilah diffyang saya gunakan, tetapi ketika memiliki banyak menimpa, itu membosankan dan dengan banyak situs berbeda, sangat sulit dilakukan untuk masing-masing.
jackJoe

Ini adalah konsep yang menarik, untuk secara otomatis melakukan diff file saat pembaruan. Fungsi diff ada di PHP. Itu bisa dilakukan ... oleh beberapa pengembang selain saya;)
Toni Marie

3

Ya, Anda harus membandingkan file setiap kali dengan tangan dan memperbarui perubahan. Pada pembaruan minor, peluangnya relatif kecil sehingga Anda harus menyesuaikannya, tetapi pada peningkatan besar, file yang diganti dapat berubah secara signifikan. Saya juga lebih suka cara yang lebih mudah, tapi itu satu-satunya solusi ATM.


0

Override tidak boleh diubah di versi Joomla apa pun. Namun, jika Anda menemukan file yang diubah, yang dapat Anda lakukan adalah mengelola seluruh instalasi Joomla dalam subversi.

Anda kemudian dapat mengelola versi kode Joomla yang sesuai dalam subversi dan melakukan penggabungan vendor http://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.