Документация Joomla 4: Улучшенное управление переопределением (GSoC 2018)

  1. Введение
  2. Начало работы с улучшенным управлением переопределениями в Joomla 4
    1. Примечания
  3. Типы переопределений, поддерживаемых этой функцией в Joomla 4
  4. Представление различий между основными и переопределенными файлами в Joomla 4
    1. Как работает представление различий в Joomla 4
  5. Переопределение - Плагин Quick Icon Notification Joomla 4
    1. Как работает Плагин Quick Icon Notification Joomla 4
  6. Плагин Installer - Override - Переопределение плагина в Joomla 4
    1. Как работает плагин переопределения инсталлера в Joomla 4
  7. Обновления - История переопределения в Joomla 4


Введение

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

Ссылка на репозиторий проекта: https://github.com/joomla-projects/gsoc18_override_management

Начало работы с улучшенным управлением переопределениями в Joomla 4

Примечания

Если вы новичок в разработке Joomla и мало знаете о менеджере шаблонов и переопределениях, пожалуйста, прочитайте:

  1. Как использовать менеджер шаблонов
  2. Переопределения макета в Joomla

Теперь, если вы ознакомились с тем, как использовать менеджер шаблонов и типы переопределений в Joomla. Затем давайте рассмотрим особенности этого проекта.

Типы переопределений, поддерживаемых этой функцией в 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 и показывает общее количество обновленных переопределений из всех шаблонов. Когда переопределения обновляются, на иконку выводится информация что-то вроде приведенного ниже примера:

Переопределение - Плагин Quick Icon Notification Joomla 4

Когда вы нажмете на него, он перенаправит вас на шаблоны, которые содержат список ваших шаблонов с их описанием. Вы увидите новый столбец Overrides, в котором выводится информация о количестве обновленных переопределений, принадлежащих шаблону. Если в переопределении шаблона ничего не было обновлено, он покажет значок "Обновлено" (Up to date).

новый столбец Overrides, в котором выводится информация о количестве обновленных переопределений, принадлежащих шаблону

Как работает Плагин Quick Icon Notification Joomla 4

Плагин Quick Icon Notification Joomla 4 делает вызов AJAX TemplateController.php, который возвращает информацию и отображает уведомление, когда такие переопределения обновляются.

Предупреждение

Плагин Quick Icon Notification Joomla 4 работает или может извлекать данные только в том случае, если включен плагин installer/override. Если installer/override отключен, вы увидите это сообщение об ошибке в иконке:

Плагин Quick Icon Notification Joomla 4 работает или может извлекать данные

Если вы нажмете на эту иконку, вы будете перенаправлены на installer/override с настройками плагина, где вы сможете отредактировать его настройки (включить его).

Плагин Installer - Override - Переопределение плагина в Joomla 4

Плагин Installer - Override является основной частью этой функции. Это позволяет находить правильные обновленные переопределения во время установки или обновления расширения и обновления Joomla.

находить правильные обновленные переопределения во время установки или обновления расширения и обновления Joomla

Как работает плагин переопределения инсталлера в Joomla 4

Этот плагин работает на 6 событиях:

  • onExtensionBeforeUpdate
  • onExtensionAfterUpdate
  • onInstallerBeforeInstaller
  • onInstallerAfterInstaller
  • onJoomlaBeforeUpdate
  • onJoomlaAfterUpdate

собирая все переопределения хэша основного файла md5_file() до обновления и после обновления, а затем сравнивает оба значения. Затем находит правильный измененный или обновленный файл. И хранит информацию в таблице #__templates_overrides.

Обновления - История переопределения в Joomla 4

Вы можете получить доступ к этому функционалу на вкладке Обновленные файлы (Updated Files) в шаблоне. Это представление списка, в котором отображается список обновленных переопределений, которые принадлежат этому шаблону.

Обновления - История переопределения в Joomla 4

Существует множество вариантов управления данным списком. Где вы можете проверить статус истории файлов переопределения, проверен ли он или нет, дату создания, дату изменения и действие обновления, например: принадлежит ли он к Joomla Update, Extension Update или Extension Install.

Примечание

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

Дополнительно

Можете посмотреть видео, чтобы узнать, как использовать эту функцию. Это видео на индийско-американском диалекте от нашего индийского друга, который с командой других индусов занимается допиливанием Joomla 4. =)

Перевод с английского официальной документации Joomla 4:
https://docs.joomla.org/J4.x:Improved_Override_Management

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Войдите чтобы комментировать