- Введение
- Начало работы с улучшенным управлением переопределениями в Joomla 4
- Типы переопределений, поддерживаемых этой функцией в Joomla 4
- Представление различий между основными и переопределенными файлами в Joomla 4
- Переопределение - Плагин Quick Icon Notification Joomla 4
- Плагин
Installer - Override
- Переопределение плагина в Joomla 4
- Обновления - История переопределения в Joomla 4
Введение
Этот проект добавляет функцию проверки обновлений в Joomla 4, чтобы, если основной файл переопределения шаблона изменен или обновлен, он уведомлял пользователя о том, что один из основных файлов переопределения шаблона изменен вместе с обновлением, чтобы избежать проблем с безопасностью или функциональностью, и они могут изменить свое переопределение до того, как кто-либо заметит.
Ссылка на репозиторий проекта: https://github.com/joomla-projects/gsoc18_override_management
Начало работы с улучшенным управлением переопределениями в Joomla 4
Примечания
Если вы новичок в разработке Joomla и мало знаете о менеджере шаблонов и переопределениях, пожалуйста, прочитайте:
Теперь, если вы ознакомились с тем, как использовать менеджер шаблонов и типы переопределений в Joomla. Затем давайте рассмотрим особенности этого проекта.
- Типы переопределений, поддерживаемых этой функцией в Joomla 4
- Представление различий между основными и переопределенными файлами в Joomla 4
- Переопределение - Плагин Quick Icon Notification Joomla 4
- Инсталлер (установщик) - Переопределение плагина в Joomla 4
- Обновления - История переопределения в Joomla 4
Типы переопределений, поддерживаемых этой функцией в Joomla 4
Новое улучшенное управление переопределением не поддерживает альтернативное переопределение, в которой имя файла переименовывается во что-то другое и переопределяется js, css. Эта функция поддерживает только файлы переопределения, перечисленные на вкладке Создать переопределение. Пример:
Представление различий между основными и переопределенными файлами в Joomla 4
Эта функция показывает разницу между основным файлом и файлом переопределения. Когда вы открываете любой файл переопределения для редактирования, вы можете увидеть две кнопки или переключатели в правом верхнем углу страницы, если основной файл этого файла закрыт.
Кнопки, подобные этой:
Здесь вы можете управлять скрытием и отображением представления различий и представления основного файла. На следующем изображении вы увидите расположение основного файла и представление различий в диспетчере шаблонов.
Вы не можете редактировать основной файл.
Как работает представление различий в Joomla 4
Когда вы нажимаете на любой файл переопределения, чтобы отредактировать его, он вызывает метод функции getCoreFile
, который получает путь к двум параметрам файла переопределения в шаблоне. Например, /html/layouts/joomla/form/field/user.php
и путь клиента к файлу, принадлежит ли он области раборы Сайт (Site
) или Админки (Administrator
). Затем, основываясь на этой информации, он возвращает путь к файлу ядра, если он существует. Для отображения различий между файлами ядра и переопределения используется библиотека jsdiff.
Переопределение - Плагин Quick Icon Notification Joomla 4
Плагин быстрого уведомления (Quick Icon Notification), который отображает уведомление в cpanel и показывает общее количество обновленных переопределений из всех шаблонов. Когда переопределения обновляются, на иконку выводится информация что-то вроде приведенного ниже примера:
Когда вы нажмете на него, он перенаправит вас на шаблоны, которые содержат список ваших шаблонов с их описанием. Вы увидите новый столбец Overrides, в котором выводится информация о количестве обновленных переопределений, принадлежащих шаблону. Если в переопределении шаблона ничего не было обновлено, он покажет значок "Обновлено" (Up to date).
Как работает Плагин Quick Icon Notification Joomla 4
Плагин Quick Icon Notification Joomla 4 делает вызов AJAX TemplateController.php
, который возвращает информацию и отображает уведомление, когда такие переопределения обновляются.
Предупреждение
Плагин Quick Icon Notification Joomla 4 работает или может извлекать данные только в том случае, если включен плагин installer/override
. Если installer/override
отключен, вы увидите это сообщение об ошибке в иконке:
Если вы нажмете на эту иконку, вы будете перенаправлены на installer/override
с настройками плагина, где вы сможете отредактировать его настройки (включить его).
Плагин Installer - Override - Переопределение плагина в Joomla 4
Плагин Installer - Override является основной частью этой функции. Это позволяет находить правильные обновленные переопределения во время установки или обновления расширения и обновления Joomla.
Как работает плагин переопределения инсталлера в Joomla 4
Этот плагин работает на 6 событиях:
- onExtensionBeforeUpdate
- onExtensionAfterUpdate
- onInstallerBeforeInstaller
- onInstallerAfterInstaller
- onJoomlaBeforeUpdate
- onJoomlaAfterUpdate
собирая все переопределения хэша основного файла md5_file()
до обновления и после обновления, а затем сравнивает оба значения. Затем находит правильный измененный или обновленный файл. И хранит информацию в таблице #__templates_overrides
.
Обновления - История переопределения в Joomla 4
Вы можете получить доступ к этому функционалу на вкладке Обновленные файлы (Updated Files) в шаблоне. Это представление списка, в котором отображается список обновленных переопределений, которые принадлежат этому шаблону.
Существует множество вариантов управления данным списком. Где вы можете проверить статус истории файлов переопределения, проверен ли он или нет, дату создания, дату изменения и действие обновления, например: принадлежит ли он к Joomla Update, Extension Update или Extension Install.
Примечание
Эта информация является только историей, поэтому, если вы проверили обновленные изменения переопределения, вы можете удалить историю, так как она больше не нужна.
Дополнительно
Можете посмотреть видео, чтобы узнать, как использовать эту функцию. Это видео на индийско-американском диалекте от нашего индийского друга, который с командой других индусов занимается допиливанием Joomla 4. =)
Перевод с английского официальной документации Joomla 4:
https://docs.joomla.org/J4.x:Improved_Override_Management
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)