Як оновлювати зміни?


10

Як багато хто знає, можна змінити шаблони, представлення, модулі, компоненти.

Основна проблема, коли Joomla! оновлюється, і елементи, які переосмислюються (у папці шаблонів) застарівають.

Як я можу оновлювати зміни кожного разу, коли оновлення Joomla робиться?

Чи потрібно це робити вручну і перевіряти кожне нове оновлення, чи є ще якийсь спосіб зробити це?

Відповіді:


4
  1. Напишіть невеликий скрипт, який обчислює md5 оригінальних файлів, які ви переробили.
  2. Завантажте ці файлові шляхи та MD5 у файл у вашому шаблоні
  3. Щоразу, коли joomla оновлюється, запустіть вищезазначений сценарій ще раз.
  4. Перевірте різницю в MD5, якщо така є, то вам потрібно це перевірити.

Порада: Перезазначте файли лише у тому випадку, якщо ці зміни неможливо здійснити за допомогою переосмислення CSS.


Це здається приємною ідеєю, але коментуючи перевизначення, очевидно, буде md5 іншим порівняно з оновленими / неоновленими, які можуть надходити з оновлення, тому це не працюватиме.
jackJoe

1
Я прошу MD5-оригінальні файли (з папки перегляду компонентів), а не зміни (файли, створені у папці шаблонів).
Шям

1
Ах! Розумію! таким чином я бачу, які файли, які я переосмислив, змінилися з оновленням. Це гарна ідея, я міг би скористатися системою версій і мати гілку лише із переоформленими файлами, тому мені не потрібно писати жодного сценарію.
jackJoe

12

Коли ядро ​​Joomla оновлюється, зміни в папці шаблонів не повинні впливати. Ось чому вони існують.

У основних елементах Joomla переосмислення буде рідко вступати в конфлікт з оновленнями основних процесів Joomla. Коли ви заміняєте основні файли Joomla або будь-які файли, документуйте документ документа. Коментування у файлі переосмислення є критичним, якщо це трапляється з вами регулярно, і ви керуєте більш ніж одним або двома сайтами. Ви просто не згадаєте, що змінили!

Ваш редактор коду повинен мати функцію "diff", щоб порівнювати новий файл зі старим і визначати рядки за рядком, які зміни були внесені. Якщо ви добре прокоментували, це розмежування покаже вам, що саме було змінено та чи вплинуло оновлення на файл. Ваші єдині зміни повинні бути вашими переопрацюваннями ... будь-що інше, і вам доведеться перейти і переоправити.

Однак, скасування третьої сторони стає проблемою лише в тому випадку, якщо розробник неправильно використовує структуру MVC. Якщо компонент або модуль розміщений належним чином, оновлення коду не повинно впливати на tmpl або перегляд.

Якщо в цьому розширенні є головний зсув функції, вам обов'язково потрібно документувати / коментувати та порівнювати файли.


Одним із прикладів перекриття переглядів, на які впливає ядро ​​оновлення, було Joomla 2.5.16 - 2.5.18, де у мене був сайт зламаний через компонент com_content, що має оновлення у видах… Це diffте, що я використовую, але коли є кілька переосмислення, це втомливо і з багатьма різними сайтами, що дуже важко зробити для кожного.
jackJoe

Це цікава концепція автоматичного розмежування файлів при оновленні. Функція diff існує в PHP. Це може зробити… інший розробник, крім мене;)
Тоні Марі

3

Так, ви повинні кожен раз порівнювати файли вручну та оновлювати зміни. У незначних оновленнях шанс порівняно невеликий, що вам доведеться їх коригувати, але при великих оновленнях перезаписані файли можуть істотно змінитися. Я також віддав перевагу більш простий спосіб, але це єдине рішення для банкоматів.


0

Перевизначення не повинно змінюватися в жодній версії Joomla. Однак якщо ви знайдете будь-які файли, змінені, то, що ви можете зробити, це керувати всією установкою Joomla в підривному режимі.

Потім ви можете керувати відповідними версіями коду Joomla в підривному режимі та робити об’єднання постачальників http://svnbook.red-bean.com/en/1.7/svn.advanced.vendorbr.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.