Какова правильная методология для обновления шаблонов?

12

В настоящее время для обновления шаблонов на нашем производственном сайте мы переводим сайт в автономный режим, меняем шаблон, удаляем шаблон, переустанавливаем его, меняем настройки шаблона и снова переводим сайт в оперативный режим. Как правило, я не фанат отказа от сайта по любой причине, и этот процесс допускает ошибки, особенно с шаблонами, используемыми только для нескольких страниц. Компоненты и тому подобное можно легко обновлять, но, похоже, эта же функциональность опущена для шаблонов.

Есть ли лучшая методология обработки обновлений шаблонов, которая исключает переход сайта в автономный режим?

Захари Дрейпер
источник
Какие типы изменений вы обновляете в шаблоне? Это пользовательские шаблоны или сторонние поставщики?
Дэвид Фрич
@DavidFritsch Шаблоны, с которыми мы работаем, являются индивидуальными для наших сайтов. Изменения часто включают в себя модификации JavaScript или CSS, такие как обновления до Twitter Bootstrap или других платформ.
Захари Дрейпер
Я новичок в Joomla, так что, возможно, я пропустил крупную работу, но я, кажется, пропускаю большинство из этих шагов при редактировании моих собственных шаблонов (полностью настраиваемый шаблон с CSS / JS и т. Д.) - что, я полагаю, вы делаете - вместо обновления стороннего шаблона. После того, как я изначально создал и установил в Joomla, я вообще не «использую Joomla». Я редактирую файлы прямо на моем сервере разработки (обновите браузер, чтобы проверить) и перехожу на действующий сайт, когда закончите. Нет удаления, переустановки, изменения настроек или простоев. Это плохо? Что я пропустил? (Должен ли это быть другой вопрос ?!)
MrWhite

Ответы:

12

Обновление шаблона должно быть таким же простым, как использование установщика Joomla для загрузки и установки обновленной версии шаблона.

Однако, чтобы он работал, файл templateDetails.xml должен определять «метод» как «обновление», а не «установка».

Вы можете проверить это, разархивировав установочный файл шаблона, открыв файл templateDetails.xml и проверив следующее в строке 3 или около нее:

<extension version="2.5" type="template" method="upgrade" client="site">

Если method="install", измените его method="upgrade"и сохраните файл. Заархивируйте пакет и наведите на него установщик, и все будет хорошо.

Примечание о настройках: этот процесс загрузит полный шаблон, потенциально перезаписывая все выполненные настройки. По этой причине рекомендуется добавить все настройки, которые вы хотели бы сделать, в один файл для упрощения резервного копирования и повторного добавления. Мне нравится использовать CSS-файл, который я называю «custom.css», и загружать этот файл последним, чтобы мои настройки переопределяли значения по умолчанию.

Zaridan
источник
Добавление method = "upgrade" было именно тем, чего мне не хватало. Спасибо!
Захари Дрейпер
Рад был помочь. Веселиться!
Заридан
Отличается ли процесс между версиями Joomla?
MrWhite
method = "upgrade" одинаково во всех версиях Joomla (извините, я изначально пропустил вопрос)
Zaridan
3

Если у вас нет пользовательских изменений в шаблоне - просто установите новый поверх текущего.

Если вы внесли некоторые пользовательские изменения, вам нужно будет повторить изменения или изменить ваш текущий код шаблона и новый код шаблона.

me7hos
источник
Я не уверен, что понимаю. Я не верю, что вы можете установить более новую версию шаблона поверх старой. Joomla! возвращает «Предупреждение: Установка шаблона: уже существует шаблон, использующий именованный каталог: Установить. Вы пытаетесь установить тот же шаблон снова?» Затем «Ошибка установки шаблона».
Захари Дрейпер
5
Если вы получаете такое предупреждение, скорее всего, потому что в файле манифеста не определен правильный метод. Проверьте xml-файл шаблона на наличие определенного метода и установите для него значение «upgrade», если оно установлено как «install». Подробнее о файлах манифеста здесь: docs.joomla.org/Manifest_files
Заридан,
1
@Zaridan Я думаю, что вы достигли ключевой точки. Вы должны добавить это как ответ и включить часть соответствующего кода, чтобы заставить это работать.
Дэвид Фрич
1

Есть несколько продвинутых вариантов постановки. Я думаю, что у siteground есть что-то вроде этого. Существуют способы замены частей сайта без переопределения всех таблиц базы данных, поэтому, если у вас есть время и ресурсы, чтобы это изучить, это МОЖЕТ быть сделано ... просто требуется хорошее время для установки (и у вас есть чтобы обдумать это).

Но если вы говорите об изменении темы на нескольких страницах, почему бы просто не загрузить новую тему под другим именем и применить ее к некоторым скрытым пунктам меню во время работы над ней. Никто не увидит его, и вы можете настроить параметры, а затем применить его к нужным пунктам меню, когда вы закончите.

Брайан Пит
источник