Дмитрий Яковлев


GetSimple Legacy CMS 2025.2.0

С радостью объявляю о релизе новой стабильной версии GetSimple Legacy CMS 2025.2.0! Предлагаю рассмотреть изменения, чтобы принять решение об обновлении с предыдущих версий.

Изменение нумерации версий

Если вы раньше интересовались моими статьями об изменениях в релизах GetSimple Legacy CMS или использовали предыдущие стабильные версии GetSimple Legacy CMS, то могли заметить изменение в нумерации новой версии.

Действительно, мною было принято решение всегда использовать третью цифру в номере версии. Поэтому версия нового релиза – GetSimple Legacy CMS 2025.2.0.

Это косметическое изменение не влияет на функциональность системы управления контентом, но это изменение, поэтому о нём стоило сказать.

Новые поля данных

Главные изменения в версии GetSimple Legacy CMS 2025.2.0, значимые для пользователей – новые стандартные поля данных для страниц и настроек веб-сайта.

Новые поля данных для страниц

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

  1. Page Subtitle – подзаголовок или расширенный заголовок страницы. Если вы использовали тестовую версию GetSimple CMS 3.4, то вам знаком аналог подзаголовка – поле Long Title;
  2. Page Summary – краткое содержание, анонс, выдержка или резюме страницы. В GetSimple CMS 3.4 так же есть аналог – поле Summary;
  3. Page Featured Image – URL основного изображения страницы.

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

Новое поле для сохранения даты создания страницы

В оригинальной GetSimple CMS и в предыдущих версиях GetSimple Legacy CMS в поле pubDate сохранялась дата последнего изменения страницы. Отследить дату создания страницы было невозможно.

Поэтому в релизе GetSimple Legacy CMS 2025.2.0 добавлена возможность сохранить дату создания страницы. Для хранения даты используется поле creDate, не доступное для редактирования через графический пользовательский интерфейс панели управления.

Для страниц, созданных в прошлых версиях системы управления контентом, при их редактировании в GetSimple Legacy CMS 2025.2.0 в поле creDate будет сохранена дата последнего сохранения. Если это нежелательный сценарий, перед редактированием страниц, можно вручную добавить поле creDate в соответствующие XML-документы страниц, соблюдая корректный формат даты.

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

Новые поля данных для настроек веб-сайта

Для настроек веб-сайт добавлены пять новых стандартных поля, доступных для редактирования через графический пользовательский интерфейс панели управления в редакторе настроек веб-сайта.

  1. Website Subtitle – подзаголовок или расширенный заголовок веб-сайта. Это поле дополняет стандартное поле Website Name;
  2. Website Tagline – слоган веб-сайта;
  3. Website Keywords – ключевые слова для веб-сайта. Аналогично ключевым словам для страниц;
  4. Website Featured Image – URL основного изображения веб-сайта. По аналогии с Page Featured Image;
  5. Website Description – описание веб-сайта.

Кому-то из пользователей выбранный набор полей может показаться недостаточным или, наоборот, избыточным для того, чтобы сделать его стандартным. На практике использование такого набора полей закрывает основные потребности пользователей, что подтверждено отзывами, пользователей моего плагина DY Website Custom Fields для оригинальной GetSimple CMS.

Отдельно отмечу, что предназначение поля Website Subtitle отличается от Website Tagline, не смотря на кажущуюся схожесть. Ранее я специально рассматривал разницу между Subtitle и Tagline – прочитайте, чтобы правильно подойти к использованию новых полей.

Сохранение метаданных в файле настроек веб-сайта

Это первый шаг к реализации сохранения метаданных в XML-документах, используемых в GetSimple Legacy CMS.

Метаданные носят технический характер и позволяют разработчику веб-сайта отследить часть действий со стороны пользователей.

В GetSimple Legacy CMS 2025.2.0 в файл настроек веб-сайта website.xml, в виде атрибутов XML-документа, при сохранении добавляются следующие метаданные:

  • created - дата создания файла настроек;
  • modified - дата последнего сохранения настроек веб-сайта;
  • creator - идентификатор пользователя, создавшего файл настроек;
  • lastModifiedBy - идентификатор пользователя, использовавшейся при последнем сохранении настроек веб-сайта;
  • revision - номер ревизии настроек веб-сайта;
  • appName - название системы управления контентом, использовавшейся при последнем сохранении настроек веб-сайта;
  • appVersion - номер версии системы управления контентом, использовавшейся при последнем сохранении настроек веб-сайта.

В настоящем релизе информация из описанных метаданных не используются в графическом пользовательском интерфейсе панели управления. Для просмотра сохранённых метаданных требуется открыть файл website.xml в текстовом редакторе.

Новые возможности панели управления

Заполнение рекомендованного адреса веб-сайта по клику

Если действительный URL веб-сайта не соответствует URL, указанному в настройках веб-сайта, пользователю предлагается изменить настройки, использовав рекомендуемый (действительный) URL.

В оригинальной GetSimple CMS и в предыдущих версиях GetSimple Legacy CMS пользователь мог ввести рекомендуемый URL веб-сайта вручную или скопировать его в виде текста и вставить в поле Website URL.

Теперь, для вставки рекомендованного URL веб-сайта в соответствующее поле настроек, пользователю достаточно кликнуть по нему и URL будет автоматически вставлен в поле Website URL.

Включение и выключение редактора кода

Управление HTML-редактором было доступно на странице настроек пользователя, но для управления редактором кода требовалось редактирование файла настроек gsconfig.php. Это было не логично и создавало неудобства.

В релизе GetSimple Legacy CMS 2025.2.0 мною было принято решение сделать управление редактором аналогичным управлению HTML-редактором.

Теперь пользователь может по желанию включить или выключить редактор кода на странице настроек пользователя при помощи чекбокса Enable the Code editor.

Важно! Следует учитывать, что теперь эта настройка не глобальна, а привязана к профилю пользователя.

Константа GSNOHIGHLIGHT устарела

После переноса управления редактором кода в графический пользовательский интерфейс панели управления, константа GSNOHIGHLIGHT устарела и больше не управляет его включением или выключением.

Новые возможности для просмотра логов

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

Просмотр логов в текстовом формате

Если лог ведётся в формате XML, например, лог неудачных попыток входа в панель управления, вы можете вывести его в текстовом виде, используя новый параметр view=text. Например: /admin/log.php?log=failedlogins.log&view=text.

Просмотр лога ошибок PHP

Для просмотра лога ошибок PHP приходилось использовать средства для работы с файлами в файловой системе веб-сервера, что создавало определённые неудобства при активной разработке и отладке плагинов и компонентов. Теперь вы можете посмотреть ошибки PHP, не покидая панели управления системы управления контентом. Для просмотра лога перейдите в раздел Support > View PHP Errors. Или по ссылке: /admin/log.php?log=errorlog.txt&view=text.

Изменения консоли отладки (Debug Console)

Повышение безопасности консоли отладки

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

Просмотр инормации об объектах в консоли отладки

Теперь, с целью повышения удобства разработки, консоль отладки поддерживает отображение понятной человеку информации об объектах. Передать объект для отображения в консоли отладки можно так:

$custom_object = new stdClass();
//
// действия с объектом перед передачей в консоль отладки
//
debugLog($custom_object);

Новые функции и изменения в уже существующих функциях

Новые функции, добавленные в GetSimple Legacy CMS 2025.2.0, в основном служат для получения данных из новых полей данных для страниц и настроек веб-сайта. Но также, среди них есть функции, расширяющие возможности использования компонентов.

Новые функции для получения данных из полей данных страниц

Эти функции используются аналогично уже имеющимся функциям тем оформления – они выводят или возвращают значение соответствующего поля, в зависимости от параметра $echo.

  • get_page_subtitle($echo = true) – выводит или возвращает подзаголовок страницы;
  • get_page_clean_subtitle($echo = true) – выводит или возвращает очищенный от HTML-тэгов подзаголовок страницы;
  • get_page_summary($echo = true) – выводит или возвращает краткое содержание страницы;
  • get_page_clean_summary($echo = true) – выводит или возвращает очищенное от HTML-тэгов краткое содержание страницы;
  • get_page_featured_image($echo = true) – выводит или возвращает URL основного изображения страницы.
  • get_page_creation_date($i = "l, F jS, Y - g:i A", $echo = true) – выводит или возвращает дату создания страницы. Принимает параметры, аналогичные функции get_page_date();
  • get_page_parent($echo = true) – выводит или возвращает идентификатор (слаг) родительской страницы. Функция заменяет функцию get_parent().

Новые функции для получения данных из полей настроек веб-сайта

Эти функции работают аналогично функциям, работающим с полями данных страниц – они выводят или возвращают значения соответствующего поля из настроек веб-сайта, в зависимости от параметра $echo.

  • get_site_tille($echo = true) – выводит или возвращает заголовок веб-сайта. В отличие от функции get_site_name(), не очищает заголовок веб-сайта от HTML-тэгов.
  • get_site_subtitle($echo = true) – выводит или возвращает подзаголовок веб-сайта;
  • get_site_tagline($echo = true) – выводит или возвращает слоган веб-сайта;
  • get_site_keywords($echo = true) – выводит или возвращает ключевые слова веб-сайта;
  • get_site_description($echo = true) – выводит или возвращает описание веб-сайта;
  • get_site_featured_image($echo = true) – выводит или возвращает URL основного изображения веб-сайта;
  • get_site_keywords_array($array_unique = true) – возвращает массив ключевых слов веб-сайта. Параметр $array_unique удаляет повторяющиеся элементы (ключевые слова веб-сайта) в возвращаемом массиве.

Новые функции для работы с данными компонентов

  • get_component_title($id, $echo = true) – выводит или возвращает заголовок для компонента. Идентификатор компонента передаётся в параметре $id;
  • get_component_description($id, $echo = true) – выводит или возвращает описание для компонента. Идентификатор компонента передаётся в параметре $id.

Функции для проверки модификатора версии

Начиная с версии GetSimple Legacy CMS 2025.2.0 для модификатора версии будет использоваться стандарт SemVer. Например: 2025.2.0-alpha.1. В связи с этим была добавлена новая функции isAlpha() и изменена логика функции isBeta().

  • isAlpha() – новая функция, проверяет, является ли текущая версия системы управления контентом alpha версией.

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

Архив для установки GetSimple Legacy CMS 2025.2.0 доступен для загрузки на GitHub.