Яковлев


GetSimple Legacy CMS 2024.2.1

Релиз GetSimple Legacy CMS 2024.2.1 выпущен сразу после релиза GetSimple Legacy CMS 2024.2 и включает в себя одно измение, которое изначально планировалось включить в GetSimple Legacy CMS 2024.2.

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

Отключение и включение компонентов

Теперь каждый компонент может быть отключён и включён обратно, в зависимости от потребностей пользователя и стоящей задачи.

Уже существующие и вновь создаваемые компоненты включены по умолчанию - это сделано для совместимости с оригинальной GetSimple CMS и не меняет привычного пользователю сценария работы.

Компонент отключается при помощи установки флажка (чекбокса) “Disable component” во включённое состояние. Отключённый компонент игнорируется при вызове функции get_component(), его код не выполняется.

Для хранения состояния компонента используется новое поле disabled. Для отключённого компонента, в поле disabled сохраняется значение равное 1.

Изменение сигнатуры функции get_component()

Предусматривая возможные сценарии, при которых отключение компонентов может иметь нежелательный эффект, изменена функция get_component().

Теперь функция принимает второй необязательный параметр $force типа boolean. По умолчанию значение параметра равно false, при этом функция учитывает состояние вызываемого компонента, хранящееся в поле disabled. При установке значения true, состояние вызываемого компонента игнорируется, код компонента выполняется независимо от значения в поле disabled.

Что даёт отключение компонентов

Я всегда рассматривал компоненты, как встроенную в GetSimple CMS замену плагинов, задача которых - формировать и выводить HTML-код в шаблонах оформления. Придерживаться этого подхода я призывал всех пользователей и разработчиков.

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

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

Возможность отключения компонентов снимает описанное неудобство: теперь отключение компонента аналогично отключению плагина.

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

Практический пример

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

В оригинальной GetSimple CMS для такого случая, с точки зрения пользователя, было бы удобнее использовать отдельный плагин.