У нас теперь одна ветка разработки. Ветка dev завершилась на 102.2, если вы на ней, то увидите уведомление в Консоли. Если вы использовали dev-установщик, то загрузите новый — он теперь только на master. Кроме того, он поправлен для новых версий PHP (старый работать будет, но с php-предупреждениями).
Теперь кратко об основных изменениях.
В Консоли выводится предупреждение об устаревшей версии PHP. Рекомендуемая 7.3. На текущий момент минимальная рабочая версия PHP 5.4. К концу года будет 7.0 7.1. То есть мы полностью откажемся от старых версий PHP.
Также в Консоли я добавил вывод немодерированных комментариев.
Исправлены замеченные ошибки, включая работу с MySQL 5.7
В плагине any_file можно использовать парсер Simple.
Сделал поиск по сайту быстрее. Проблема была связана с подсветкой найденных фраз. Когда текста много его обработка приводила к заметному притормаживанию. Сейчас алгоритм принудительно отсекает первые 500 слов. Это позволило очень сильно ускорить работу поиска.
В юнитах (units) изменил порядок: вначале выполняется команда @fromfile
(включение файла), а уже потом происходит обработка php-кода по инструкции @USE_PHP@
.
В Page_out (включая last-pages.php) включена поддержка exclude_cat_id с помощью которой можно исключить рубрики из вывода.
В Page_out можно задать php-функцию в виде [func@my_f|X|Y|Z]
. То есть функция будет принимать на входе данные записи и до 3-х аргументов. Можно использовать для случаев, когда требуется оформить какой-то специфический вывод.
С помощью set/get переменной show-info-top можно полностью отключить вывод info-top записи. Это для случаев, когда нужно управлять выводом заголовка из произвольных блоков шаблона.
Сделал кнопку сохранения файла на странице Файлы всегда видимой. Раньше она появлялась только когда была какая-то правка текста. Многие пугались отсутствию кнопки, поэтому переделал.
В type-файлах добавил и поправил некоторые css-классы.
Улучшил работу type_foreach-файлов. Добавил новые type_foreach-файлы для full-вывода (do-full, end-full).
Доработана функция mso_add_file()
. Теперь она поддерживает lazy-загрузку файла (то есть в конце BODY), а также может автоматически сформировать полный путь на основе __DIR__
. Это позволяет без переписывания пути переносить файлы в разные каталоги шаблона. Ну и кроме этого для js-файлов можно указывать дополнительные атрибуты SCRIPT (например async).
Улучшил вывод отладочной функции pr()
для нескалярных переменных. При смешанном содержимом будет корректный вывод.
В title страниц теперь добавляется номер страницы пагинации. Поменять формат вывода можно с помощью опции в Основных настройках - Meta-поля - Номер страницы в title.
Полностью убрал meta keywords, поскольку они уже давно потеряли актуальность. Но при этом оставил их вывод через mso_head_meta()
для совместимости.
В шаблоне Default добавил параметр swap для загрузки google-шрифтов. Это новая возможность, решающая проблему «мигания» шрифтов на странице.
Новый вариант создания языкового перевода. Главная сложность языкового перевода — это то, что не все фразы можно «отловить» по исходному php-коду. У нас часть фраз формируется с помощью ini-файлов, которые очень сложно распарсить. Поэтому я придумал другой вариант. Вначале происходит сбор всех фраз через реальный сайт. Фразы собираются в отдельном текстовом файле автоматически. После сбора, файл обрабатывается тоже автоматом и на выходе получается готовый массив фраз для перевода (mso-dictionary.php). На его основе делается свой словарь.
Переводчик выполняет перевод (можно частично) в своём отдельном файле, после чего запускает обработчик, который и формирует готовые языковые файлы. Более подробно об этом я написал в документации.
Сейчас, из-за того, что у нас все плагины без языкового перевода, в общий «котёл» приходится кидать и плагины, и фразы самой MaxSite CMS. Но вообще в планах я думаю, выкладывать готовый mso-dictionary.php только самой системы, а перевод плагинов перенести в каталоги плагинов (в bbcode добавил языковой перевод в качестве образца), как это изначально и задумывалось. Работы много и я бы не отказался от помощи. В первую очередь нужен нормальный английский и украинский перевод. Потому что когда будет перевод, можно будет подумать и над локализацией инсталляции MaxSite CMS (чтобы сразу можно было указать язык).
Ещё пара анонсов.
Первый. На сайте решил завести отдельный раздел «Каталог студий и фрилансеров», которые работают с MaxSite CMS.
Второй. Вы наверное уже читали о моём шаблоне MF и в честь приближающейся годовщины MaxSite CMS я решил придумать 11% скидку. Она действует только до 3 июня 2019, поэтому если вы подумываете о многофункциональном шаблоне, самое время приобрести. Тем более, что в подарок вы можете выбрать ещё один любой премиум-шаблон. Так что получается достаточно выгодное предложение. MF сильно развивается, там уже много «вкусностей», поэтому не упускайте такой шанс. :-)
Комментариев: 12 RSS
1Ярик25-05-2019 20:48
Наконец-то! Для меня это очень удачное обновление, очень скоро применю его, чтоб уйти с проклятого юкоза. Восхищён тобой и твоим трудом.
По поводу перевода ты ведь и так в совершенстве знаешь и английский, и украинский, а кто предложит свой вариант, тебе всё равно придётся проверять каждое слово, поэтому лучше сделай сам или с помощью программы-переводчика, а потом проверь результат на ошибки, будет быстрее, чем ждать людей.
2Евгений МирошниченкоСайт27-05-2019 12:25
Доброго времени суток, Максим. Благодарю, за Ваши труды. Занимался переводом некоторых плагинов как-то и действительно в файле перевода каша выходила. Готов помочь с переводом плагинов, которые есть в стандартной поставке с CMS на английский. Как бы организовать трудовой процесс и присылать Вам плагины с переводом?
3Максим27-05-2019 14:14
Евгений, основная информация по переводу есть в документации. В плагинах, конечно, нет автосбора фраз, поэтому придётся каждую фразу вручную выдергивать. Но там их мало, поэтому небольшая проблема. Потом мне можете просто на почту скинуть zip-архив только переводов, я их добавлю в поставку системы.
4Евгений МирошниченкоСайт27-05-2019 14:19
Хорошо. По срокам загадывать не буду, но и затягивать выполнение перевода тоже. Ориентировочно до конца июня все сделаю и все скину Вам на почту.
5Евгений27-05-2019 17:00
спасибо,
очепятка - исправь lats-pages.php
6бо01-06-2019 06:53
круто
7Иван Сиренко07-07-2019 20:56
Благодарю за обновление! Работает!
Такой вопрос: для того чтобы сайт был с https:// в файле .htaccess надо что-нибудь прописывать, или так "подхватит"???
8Максим08-07-2019 10:18
Всё работает из «коробки».
9vovansСайт06-11-2019 09:53
Сейчас написал очередную статью:
https://radio.zenway.ru/page/eagle-schematic-simulation
и вот что напрягает. Вставлять картинки. Загружать легко. Наделал скриншотов, перетащил их в нужное поле и готово. А вот вставлять их в статью... Мне нужны их URL. Чтобы их получить, нужно нажать на кнопку, в появившемся окне скопировать УРЛ, закрыть окно, прокрутить окно вверх, нажать пиктограмму с картинкой... Если бы УРЛ просто копировался сразу при нажатии кнопки, было бы намного проще. а если бы он вставлялся в место, где сейчас курсор, с появлением соответствующего окна для заполнения описания, было бы вообще прекрасно! Такая простая операция очень сильно отвлекает от текста :( Пока всё сделаешь... А картинок и 10, и 20 бывает.
10Максим06-11-2019 10:34
Если это картинки, то есть готовые коды img и image. Это значительно проще, чем вручную расставлять html-тэги.
11Дмитрий19-01-2020 09:56
"Полностью убрал meta keywords, поскольку они уже давно потеряли актуальность. Но при этом оставил их вывод через mso_head_meta()для совместимости."
Как keywords можно вывести в админке для статей теперь?
Может оставить keywords - кому надо заполнит - не надо - вообще не выводить его.
12Максим19-01-2020 10:09
Кому нужно, пусть сам делает любые метаполя в своём шаблоне.