Современная, быстрая и удобная система управления сайтом

MaxSite CMS 106

Версии (релизы)Комментарии: 13Просмотров: 11513

Это окончательный переход системы на PHP 7.1. В этой версии новый установщик системы, а также Default шаблон, основанный на MF.

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

Из-за переделки «ядра» в прошлой 105-й версии существующие шаблоны скорее всего придётся немного подправить. Так же есть некоторые другие особенности, которые желательно знать перед обновлением существующего сайта.

Новый инсталятор

Старый инсталятор использовал «движок» Landing Page Framework. Но по факту там была всего одна страница, поэтому я всё переписал на отдельные функции. Также поменял дизайн:

Инсталятор MaxSite CMS

При инсталяции внесены некоторые изменения. Например больше не создаётся таблица links — этот артефакт тянется очень давно, но в системе не используется. Также теперь не указывается движок MySQL, то есть будет использоваться тот, которые используется на сервере. Раньше мы принудительно ставили MyISAM, поскольку только в нём работал полнотекстовый поиск. Но в MySQL 5.6 его наконец-то сделали, поэтому можно пользоваться более продвинутым вариантом — InnoDB. Именно поэтому в требованиях MaxSite CMS я указал минимальную версию MySQL 5.6.

Ещё одной особенностью нового инсталятора будет поддержка языкового перевода. То есть инсталяция проходит на языке пользователя (браузера). Пока это русский, украинский и английский. Схема перевода базируется на ключах, а не на полной исходной фразе. Так же применяются контекстные замены в переводе, что позволяет делать перевод достаточно гибким. Возможно, подобный подход я добавлю и в саму MaxSite CMS.

Отмечу, что эти изменения касаются только новых установок MaxSite CMS. Для всех остальных изменений по базе нет.

Демо данные

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

Пока данные добавлены для русского текста (из русскоязычной википедии), возможно со временем добавлю другие языки.

Шаблон Default

Теперь самое интересное. :-) Новый шаблон базируется на ядре MF. Разработкой MF я занялся летом 2018 года, а осенью организовал предзаказ шаблона. Полные версии выходят уже больше года и за это время образовался круг пользователей, которые помогают мне дальше его развивать. Главной особенностью этого шаблона — сильный компонентный подход. То есть сайт собирается как конструктор Лего, где каждый блок или модуль является самостоятельной частью и может настраиваться индивидуально.

И хотя основы шаблонов заложены в MaxSite CMS достаточно давно (в первую очередь благодаря переходу к 90-й версии), MF позволил доработать многие части системы и придумать новые механизмы управления.

Отмечу, что Default шаблон — это не шаблон MF, а лишь только небольшая его часть, позволяющая вебмастерам создавать новые модули, юниты, дизайн-блоки и т.д. Например сейчас в MF более 50 компонентов для главной, а в Default я оставил 14 модулей. Даже этого достаточно, чтобы организовать полноценный лендинг на главной странице сайта.

В комплекте шаблона два компонента шапки. Они достаточно просты по дизайну, но имеют множество настроек. Это достаточно типовые варианты.

Хочу отметить, что я не делал сброс опций default-шаблона, поэтому после обновления вам нужно будет заново выбрать компоненты шапки.

В новом шаблоне дизайн главного меню вынесен отдельным файлом на вкладке «Дизайн»:

Вкладка Дизайн

Аналогично шаблон может использовать произвольные шрифты. Default шаблон используется Open Sans и Roboto Slab — их также следует отметить.

Что касается иконочных шрифтов, то возникла тупиковая ситуация. Мы использовали шрифт FontAwesome 4-й версии, где использовался только один файл шрифта и один css-класс для иконки. В FA 5 разработчики разбили файл и теперь иконку следует указывать двумя классами: шрифт и код/класс иконки. Пятая версия имеет более 1500 иконок, поэтому есть смысл мигрировать на новую версию. Вкладка Соц.сети теперь имеет два поля — одно общее по умолчанию, а второе — для текущего шаблона. Раньше поле было общее для всех шаблонов, теперь можно учесть особенности каждого шаблона.

Настройка соц.сетей

Отмечу, что за вывод этих иконок отвечает компонент _social.

Default шаблон использует Berry CSS вместо UniCSS, поэтому в стилях типографика принадлежит только шаблону.

Ну и кроме того, шаблон использует фреймворк Bootstrap 4, что позволяет использовать его многочисленные компоненты. Собственно этот фреймворк и нужен только для того, чтобы получить доступ к его компонентам. Типографика, сетка цветовой дизайн как таковой мало востребован и легко перекрывается Berry CSS. Но компоненты это ещё и js-код, поэтому использование Bootstrap в шаблоне должно быть оправдано.

Я не большой поклонник Bootstrap, поэтому потратил на поиск и изучение альтернатив много времени. И хотя фреймворков много по суммарным критериям: размер кода, количество компонентов и полноценная документация, Bootstrap получил мою лучшую оценку.

В комплект шаблона я добавил страницу из MF — mfdesign (вашсайт/mfdesign), где собраны примеры дизайн-элементов, включая некоторые компоненты Bootstrap.

Теперь пару замечаний о том, как работать и кастомизировать шаблон Default. Если вы хотите править файлы, то лучше всего сделать копию и работать уже с ней. Например вместо того, чтобы править компонент Header1, сделайте его копию, например Myheader1 и работайте уже с ней. Тоже самое касается работы с модулями главной. Все они находятся в каталоге store — но перед использованием их следует скопировать в modules и работать уже с ним.

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


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

Комментариев: 13 RSS

1Роберт17-02-2020 09:56

Сижу на 102.3, попытался обновиться при помощи update_mso, но получил черный экран на сайте(в независимости от активного шаблона). В админке все норм. Пришлось откатиться назад. Как обновиться правильно?

3Сергей08-04-2020 17:28

А где можно узнать о правке шаблона? До обновления стояла версия 98, сейчас шаблон "поплыл".

4Максим08-04-2020 19:55

Смотрите анонсы пропущенных релизов. Может там есть то, что упустили.

5Вадим03-05-2020 16:20

Есть ли обязательные промежуточные версии для обновления с 0.862? Или же можно поставить поверх "Универсальным способом"?

7Евгений16-09-2020 12:45

Максим, повторю свой вопрос -- как в версии 106 сделать возможным не указывать сегмент page ?

в версии 105 у меня адрес https://site/article автоматом переходит на https://site/page/article

при обновлении до версии 106 https://site/article (без указания page) выдаёт 404 страницу

8Максим16-09-2020 16:45

Редиректит? Проверьте тогда что у вас сбилось в плагине или как вы его делали... Так я не могу сказать. Сегменты данных всегда используются в MaxSite CMS.

9Евгений16-09-2020 19:52

Нет редиректов - таблица пустая.

попробовал в плагине редиректов в секции 404 написать

https://site/(*) | https://site/page/$1 | 301

вылазит ошибка

Severity: Warning

Message: preg_match(): Compilation failed: quantifier does not follow a repeatable item at offset 36

Filename: redirect/index.php

в версии примерно 096 была опция в админке перенаправлять на сегмент /page в случае чего. Ничего с тех пор не менял и до версии 105 всё работало нормально...

10Максим16-09-2020 20:10

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

Оставьте свой комментарий!

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

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)