Всем привет!
Лето, жара. Самое время обновляться. В этом релизе мы исправили все описанные вами баги, найденные в 2.17.2 и добавили очередную порцию улучшений.
Да, о Биллинге сразу. Он практически готов. Я осознано не стал его внедрять в этот релиз. Нужно протестировать, отладить платёжные системы. В целом, обсуждение в этой теме форума. Как только всё оттестируем, я выпущу релиз 2.18.0.
Список изменений
- SEO опции для списка записей ленты активности;
- Правильный редирект, если категория помечена как скрытая;
- Исключён показ скрытых категорий в фильтре;
- Исправлена проблема, когда нельзя было отправить более одного приглашения на смену владельца записи ТК;
- Права доступа теперь можно проверять через создание объекта cmsPermissions;
- Исправлены мелкие баги при редактировании записей ТК;
- Трейт formItem теперь корректно сохраняет поля date_*;
- Опция шаблона с текстом согласия с куками в HTML редакторе;
- Все запросы внутри транзакции не «умирают» при ошибке;
- Для поля «Флаг» добавлена опция «Ссылки в названии поля»;
- PHPMailer 6.10.0;
- jquery.inputmask 5.0.10-beta.42;
- В хук user_registered теперь передаётся контекст $this->request;
- Немного рефакторинга функций html_* и других;
- Поддержка методов before и after при работе отдельными экшенами;
- redirectToLogin работает с GET запросами в том числе;
- Правильная работа метода validate_number;
- Правильная работа метода cmsTemplate->renderContentItem;
- Поле fieldFieldsgroup теперь работает в том числе в режиме вложенных полей, без динамических списков;
- В поле число добавлена опция placeholder;
- В трейте formItem добавлена передача знчений по умолчанию в форму;
- Исправлен баг с моделью бэкенда;
- Исправлен баг с ftp_account;
- Фильтр по компоненту в планировщике виден на мобильных;
- В хук content_add передаётся текущий request;
- В поле fieldFieldsgroup добавлена опция is_counter_list для показа нумерованного списка;
- Трейт listgrid теперь работает корректно с вложенными экшенами;
- Меню тулбара в админке в одну строку и с прокруткой на мобильных;
- В бэкенде подключается файл фронтэнда, если есть. Без создания объекта;
- Исправлен баг, когда на главной в тег title не добавлялось название сайта;
- Мультиязычные предустановленные значения полей;
- Исправлен некорректный подсчет количества записей при использовании типа поля Родитель в фильтре;
- В паттерне заголовка комментариев теперь можно указывать выражение {comments_spell_count};
- Полностью зарефакторенный виджет «Список контента» с новыми опциями «похожести» записей: по заголовку, по тегам, по категории. Плюс опция вывода рандомного списка;
- Новая опция «Выводить виджеты на странице 404» в общих настройках сайта + мини контроллер error404 + возможность для виджетов указать в отрицательных масках 404, чтобы исключить показ ненужных виджетов;
- В SEO параметрах профилей доступно новое выражение {tab_title} с именем текущей вкладки пользователей;
- Новые специальные пункты меню {users:profile_TAB_NAME}, {users:logout}, {users:edit} для полной кастомизации страниц профилей пользователей;
- Опция виджетов «Объединять с предыдущим виджетом» теперь позволяет выбирать шаблоны контейнера, начинающиеся на wrapper_tabbed (теперь можно объединять виджеты не вкладками, а как угодно). Шаблон контейнера вывода группы виджетов определяется по последнему виджету группы;
- Для типа поля «Ссылка» добавлены опции выбора иконки и показа только иконки;
- Хуки widget*_before_update_bind;
- Добавлена опция для колонок шаблона Modern «Подключаемые JavaScript файлы для колонки, если на позиции будут виджеты»;
- Новые опции компонента и виджета «Поиск», в том числе режим вывода результатов как в основных списках ТК;
- Немного рефакторинга модели modelSearch;
- Исправлены некоторые ошибки с переводом на английский;
- Опция «Проверять HTTP referer» в компоненте Редиректы включена по умолчанию;
- Добавлена опция полей изображений «Атрибуты тега img в формате JSON» отдельно для списков и записей;
- Исправлен баг с опцией «Просмотр списка на сайте включен»;
- Виджет формы поиска теперь понимает, если он на странице ТК, добавлена опция Показывать кнопку «Найти»;
- Доработан механизм определения активности вложенных пунктов меню;
- В поле «набор изображений» добавлена опция «В списке показывать только первое изображение»;
- Выбор иконки для строковых полей;
- Выбор иконки для ТК;
- Поддержка выражений иконок в «Свой HTML контейнера» в виджетах;
- Опция шаблона «Готовый HTML, добавляемый перед всеми стилями и JavaScript файлами в head страницы»;
- Добавлено несколько шрифтов Google в опции шаблона;
- Доработано поведение «Не изменять URL при редактировании записи»;
- Абстрактный счётчик для svg иконок;
- Исправлен баг в inline-save в гридах;
- Убраны случайные именованные аргументы в хуки;
- Функции lang_slug зарефакторены;
- Исправлены ошибки с шаблоном Modern, когда при определённой схеме виджеты не показывались;
- Метод isSecureProtocol перенесён в cmsRequest, где добавлены методы isSecure() и getScheme();
- В общие настройки сайта добавлена опция «Тема оформления для разработчиков», при включении которой выбранный шаблон будет показан только главным администраторам сайта;
- Опция «IP адреса, с которых будет доступна тема для разработчиков»;
- Немного рефакторинга и косметических изменений в админке;
- Добавлен метод fetchAll в cmsDatabase;
- Оптимизированы методы orderBy, getItem и get базовой модели;
- Исправлена ошибка с $this->title в контроллерах;
- Исправлена работа datasets у контроллера users;
- Множество мелких правок и рефакторинга, о которых расскажет вам dif :)
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.17.2, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
- Убедитесь, что вы используете версию PHP не ниже 7.2.0;
- Отключите кеширование в настройках сайта;
- Отключите объединение js и css в настройках сайта;
- Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
- При возникновении «белого экрана» категорически читать здесь;
- Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Если у вас кастомная урезанная сборка, то распакуйте пакет обновления, удалите ненужные контроллеры, запакуйте обратно и обновитесь.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
Огромное спасибо за сообщения об ошибках. Спасибо за донаты. Спасибо, что выбираете InstantCMS.
Поддержите проект
Вы можете стать официальным спонсором или отправить донат, в том числе в криптовалюте. Вы также здорово поможете, если поставите звезду на GitHub, для нас это очень важно.
Пока обновить не удалость. «Ошибка распаковки пакета: Файл не является zip архивом.»
Спасибо, исправили. Удалите файл /cache/update.dat и попробуйте заново.
Спасибо, всё получилось!
Признателен разработчикам за работу! Заданатил свою скромную лепту.
Динамика обновлений очень радует!) Видно будущее у системы огромное и Fuze заряжен на достижение новых вершин:)
Огромное спасибо за поддержку и развитие движка.
Спасибо. Хорошая новость
планируется ли в 2.18 переход или поддержка бутстрап 5?) Было бы классно, так как много полезных опций там есть:)
Поддерживаю!
Вы же понимаете, что переход на бс5 это как бы нетривиальная задача и между делом, занимаясь биллингом, это сделать невозможно.
Биллинг, думаю, гораздо важнее всего остального! 👍💪
Благодарим за проделанную работу.
Вкладки пользователя при нажатии еще теряется меню.
При нажатии кнопки «Одобрить» в модерации материал одобряется, но из списка не убирается
Не понял
А должны?
Получается меню пользователя при нажатии «еще» и открытии меню на телефоне, меню начинает плыть.
Раньше при одобрении или отклонении контент модерируемый пропадал.
Понял, проверим, исправим.
Спасибо. Благодарю. С меня благодарность.
Можете заменить эти файлы себе и проблемы исчезнут
github.com/instantsoft/icms2/blob/master/system/controllers/moderation/actions/index.php
github.com/instantsoft/icms2/blob/master/templates/modern/js/comments.js
github.com/instantsoft/icms2/blob/master/templates/modern/js/core.js
С меню в табах необходимо проверять на реальном устройстве.
если обновляться до актуальной версии, то там уже учтены эти обновления или лучше дождаться релиза с патчем?
В 2.17.3 этих изменений нет конечно же, ведь сообщили о них после релиза. Просто скачайте и замените у себя указанные файлы, если для вас это критично.
После обновления, в разделе Виджеты и Страницы, у Виджетов пропали Иконки, при этом функциональность осталась. Посмотрел на Демоверсии, все иконки на месте.
Кэш скидывали?
Вероятно упустил этот момент. И что теперь можно сделать, для восстановления иконок?
сбросьте кэш сейчас
Не помогает.
Может сжатие какое-то включено?
Спасибо за развитие системы. Донат отправлен.
ЗЫ: Обновился нормально, проблем пока не заметил. Ещё раз спасибо.
Спасибо!
Страницы не на русском и английском языках ушли в 500ю ошибку
пешел переписывать свои functions.php language.php
делюсь кому нужно
Хм, не должно так было быть. Какая ошибка была?
спасибо за работу, копеечку перевел
Спасибо!
Обновился с 2.17.1 до 2.17.3. На первый взгляд все нормально. ) Спасибо разработчикам за то, что даже дилетанту обновить движок не составляет труда! Осталось только поправить код там, где были сторонние вставки, это не проблема...
Вопрос: после обновления обратил внимание, что в Настройках «База данных» — «Кодировка» указано «UTF8 (Устаревшее). И предлагается заменить на UTF8mb4 или UTF8mb3. Подскажите, на какую кодировку надо менять? И как это грамотно сделать — просто указать кодировку?
На любую. Поменяйте на UTF8mb4, просто выбрав и сохранив. Если записей много, то может «повисеть» страница.
Пытаюсь обновить на куче сайтов, выдаёт: Не удалось проверить наличие обновлений
Установлена 2.17.2 версия
видимо всякий гарбич установлен на сайт
Все дополнения сделаны отдельно, системные файлы не тронуты, до этого всё обновлялось без проблем. Лишние файлы при обновлениях удалял.
Удалите файл /cache/update.dat и попробуйте заново. Если не получается, скачайте пакет обновления по ссылки в конце новости и обновитесь вручную.
нет такого файла
Значит ваш хостинг по какой-то причине не хочет соединяться с хостом обновления. В чём причина, я не могу знать. Скачайте пакет обновления и обновитесь вручную.
Обновление прошло ровно, как всегда. сэнкс!
Обновился. У меня на сайте где установлен /billing, теперь биллинг не работает — пишет «Неверный ключ лицензии биллинга». А мне там денежки шлют. Что делать??
Посмотрел, нет такой проблемы. Такая проблема у меня на тестовом, что естественно, так как лицензия не совпадает с доменом на тестовом...
ЗЫ: хотя может я не понял… где именно пишет и когда?)
До обновления ключ работал и биллинг работал, после этого обновления биллинг перестал работать. На пустой белой странице выходит текст: Неверный ключ лицензии биллинга
Обновление никак не могло повлиять на биллинг.
Если уверены, что проблема в обновлении, то откатываться назад из бэкапа.
А функцию сжатия css и HTML удалось поправить?>)
Что с ней было не так? Вы проверили?
в 2.17.2 сыпалась админка почему-то. Тестировал на нескольких проектах.
У меня система тоже не находит обновление
Удалите файл /cache/update.dat и попробуйте заново. Если не получается, скачайте пакет обновления по ссылки в конце новости и обновитесь вручную.
После обновления в админке поля профилей перестали работать.
/admin/controllers/edit/users/fields
вся страница в таком виде
Версия InstantCMS: 2.17.3
Веб сервер: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 Phusion_Passenger/6.0.22
SQL сервер: MySQL 5.7.44
Версия PHP: 8.2.28, cgi-fcgi
Лимит памяти: 1 Гб
Макс. размер загрузки: 256 Мб
Директория сайта: /var/www/u2876/data/www/site.ru
Обработчик сессий: files
Директория сессий: /tmp/u2876/67fcf9c7042a6
Установлен Zend OPcache: Да
Установлен IonCube Loader: Нет
Установлен Zend Guard Loader: Нет
Выглядит как код файлов, закрытых с помощью ioncube, при отключённом IonCube Loader. Который у вас как раз отключен.
Предположу, что кроме обновления что-то ещё произошло с сервером, возможно, отключили ioncube. Или на сайт было установлено дополнение, закрытое ioncube
До обновления все работало же. Может в самом обновление что-то под кубом?
Исключено. Весь код открыт. Вам правильно Zau4man подсказал.
Хостер включил куб. Теперь выдает белую страницу. В компонентах отключил все дополнения. А, вот при переходе в админке в типы контента и далее в поля — выдает тоже белую страницу. Как отключить доп поля?
Включите режим отладки в настройках сайта. И вместо белого экрана с вероятностью 90% вы увидите текст ошибки, по которому можно будет понять, с какой разработкой проблемы.
После этого выключите режим отладки. И создайте на форуме тему с описанием проблемы. Помогать тут, в комментариях, не совсем удобно.
Но проблема 100% не связана с обновлением.
Стоял видео компонент. выключенный. версия куба не подходила.
Как давно не хватало из набора выводить одну фотку в списке. Можно забыть про сторонние поля. Спасибо
После обновления, внесенные изменения в инстайлере слетели. Но когда запускаешь инстайлер — изменения применяются, а при закрытии инстайлера — сбрасываются. Что может быть подскажите?
Обновился без проблем из админки. Что то навскидку хотел посмотреть вот это:
Не смог найти данной настройки ни в строковых полях ни в ТК. Ткните пожалуйста где это дело находится?
Нашел, спасибо огромное🤝
Игорь, в формах тяжело читать список полей. Заголовок поля и само поле воспринимаются как разрозненные объекты, внимание скачет то на заголовок то на поле. Если уменьшить label до 13px и уменьшить отступ между label и полем до 5px то так просто можно снизить когнитивную нагрузку и перенаправить внимание на само поле. На снимке слева вариант как сейчас а справа с правками. Можно еще текст в поле уменьшить.
На macos во всю используется такой подход. Это делается чтобы внимание не рассеивалось, это собирает и сконцентрирует внимание посредством размеров и отступов.
почему-то некорректно отрабатывает Планировщик задач при клике на «Публикация контента по расписанию»
Сначала выдает ошибку
но потом при повторном запуске отрабатывает корректно. Далее опять публикую отложенную новость и повторно запускаю планировщик. Вновь выдает эту ошибку и далее аналогичный сценарий повторяется
не могу понять куда смотреть, чтобы исправить.
Еще вопрос по показу виджета «Уведомления». Раньше показывался виджет только тогда, когда появлялись новые уведомления. Сейчас показывается постоянно. Как можно сделать как раньше?
иконки в полях не совсем понял как работают, у меня они отображаются только при создании, этот так задумано что не выводятся в списке и записи тк?
Да, это иконки для форм
в следующем обновлении выведите уж в тк)
В полях давно можно выводить иконки, достаточно указать в названии поля иконку, например так {solid%address-book}
На существующем поле «ссылка» выбрал иконку, сохранил, в записи вместо ссылки стала отображаться кликабельная иконка, убрал иконку — пропала и ссылка. Возможно без отката как то вернуть отображение ссылки?
У вас по всей видимости стояла опция «Показывать только иконку». Выберите иконку, снимите чекбокс, сотрите иконку, сохраните поле.
Нет, чекбокс был снят. Пробовал включать и выключать, ничего не изменилось. В новых записях выводится иконка и ссылка, в старых только иконка
Я не могу повторить, объясните иначе как повторить проблему.
На демо сайте instantcms в тк объявления создал поля с типом ссылка, иконку не выбирал. В объявлении заполняю поле ссылка — в записи не выводится.
Релактирую поле, выбираю иконку — выводится иконка в сидеть ссылки
А что вы указываете в качестве ссылки? В поле подразумевается полноценная ссылка.
Указываю ссылку вида instantcms.ru
Если вы указываете без http(s), то надо включать опцию добавлять https. Короче, указывайте полные ссылки.
У меня такая же проблема. Тип поля Ссылка с флажком «Возможность установить заголовок для ссылки». После обновления все ссылки пропали. Включил иконку, она отображается а текст со ссылкой нет. Все ссылки были с https и до этого все выводилось как нужно. Что можно поправить ?
Замените $value на $href в этой строке github.com/instantsoft/icms2/blob/master/system/fields/url.php#L131C42-L131C48
Должно быть так
если нет возможности перевести дефолт на bootstrap 5, может быть пришло время сделать ещё один дефолт шаблон на 5й версии, принципиально другого вида, ибо стандартный уж очень не очень в плане дизайна!? Да и дифицит шаблонов для инстанта — очень горячая тема, мы очень отстаём от остальных CMS, у DLE 3 стандартных шаблона в коробке, гораздо интереснее нашего, у WordPress вообще молчу
Можно всё. Всегда вопрос в финансировании и времени. Ну и дизайна как такового нет в modern, это голый bs4.
может сообществу, совместно с Вашей инициативой нужно заняться этим? Складчина например или энтузиасты?
Не знаю что ещё добавить :) Я не против складчин, помощи, совместной работы и т.д. Надо дизайнерский шаблон — нужен дизайнер. Он стоит денег. Я, к сожалению, не умею в дизайн. Дело вовсе не в бутстрапе и его версии. То, что мы сделаем шаблон на бс5 ровным счётом ничего не изменит, поскольку, он так же будет голый бс5.
Насчёт энтузиастов у меня большие сомнения.
я бы вообще избавился от фреймворков, незнаю для кого как, но для меня самый лучший это дефолтный шаблон, и привязывать его к какому то фреймворку не очень хорошо, особенно к определенной версии фреймворка, кто то пользуется bs, кто-то tailwind css, кто то верстает вообще без фреймворков, как по мне шаблон должен быть универсальный чтоб можно было легко подключить при необходимости любую библиотеку.
Это просто Modern на фреймворке + на нём показана интеграция с SCSS, настройками в админке и т.п… Хотя по факту вы свой шаблон можете сделать на чём угодно, нет никаких препятствий. Суть фреймворков всего лишь в более быстрой интеграции. Быстро сделал — быстрее заработал.
шаблоны есть и при желании можно с ними сделать что угодно, лучше допилить шаблон админки, хотел сделать тему для админки под себя по столкнулся с проблемами рода где то цвета заданы жестко, где то в виде переменных, где то переопределяются ни один раз. все привести к единому стилю чтоб при желании можно было переопределить переменные и у тебя другой стиль админки. Понимаю это все индивидуально, но как планы на будущее
и главное пора избавляться от jquery в шаблонах
Чтобы какую цель достичь? Избавляться от Jquery в планах нет.
«Проблему» с шаблонами в instantcms спасет только крутой конструктор тем на уровне elementor, больше ничего. ИМХО. Я думаю стоит поднять этот вопрос с очень хорошим бюджетом.
elementor в ВП это зло. Перенести сайт потом вообще невозможно, так как база реализована чудовищно неудобно для конвертации.
После обновления, легла доска объявлений, объявления работают, главная нет, разработчик подсказал надо было оставить только один стиль отображения.
Так же легло дополнение Расширенная отладка
Если включаешь PHP 8 и выше то ложится авторизация, т.е в админку и личный кабинет не попадешь
Критерии поиска пользователей на странице пользователей в фильтр вбиваем, после того как убираем высвечиваются все варианты числительных.
Так же в критериях поиска не учитываются в поле на странице пользователей список: мультивыбор. (он есть но от выбора ничего не учитывается в фильтрации результатов)
Есть такое, поправим, спасибо.
Проверил, всё работает.
Не так выразился по всей видимости! Есть список: мультивыбор со значениями. Он активен и используется в фильтре списка пользователей. При выборе определённых значений, результаты в поиске по фильтру с данным значением отсутствует, хотя пользователи с таким значением имеются.
Пожалуйста. Вам спасибо. За развитие ресурса, за труды и неоценимые вклады.
Это поле ищет по принципу «И», а не «ИЛИ».
Да. Поле ищет по принципу «И». Имея возможность выбрать несколько вариантов.
Для логики «или» можете воспользоваться полей из этой темы instantcms.ru/forum/pole-spisok-multivybor-s-ili.html
Обратите внимание, что новое поле хранит данные в другом формате, поэтому можно использовать только «с нуля». Если сменить тип поля у уже созданного и заполненного поля, работать не будет.
Почему-то некорректно работает система подписок на записи ТК в списке ТК для гостя.
Клиент под гостем Подписаться. Указываю почту. На почту приходит ссылка с кодом. Клика на неё и перекидывать на 404 страницу. Может потому, что данная почта уже есть в какой-то подписке у пользователя?
Так и есть. Подписки не работают корректно в таком варианте. Проверка была с чистой системой и не фигурирующим нигде адресом электронной почты.
а как исправить?)
Починить
Открыл сайт гостем, нажал подписаться, заполнил форму, отправил, перешёл по ссылке в письме (я по прежнему разавторизован), подписка подтверждена. Как повторить проблему?
После обновления бесконечная загрузка на кнопке отправки комментария и записи на стене. Но сами комменты и записи создаются.
При включении отладки комменты не оставляются.
Deprecated: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated system/core/controller.phpon line945
Полагаю, проблема в стороннем дополнении, может «Скрытый текст»?
Спасибо! Действительно так..
Было бы неплохо и логично все эти функции реализовать и в Слайдере контента. Ведь «слайдер» — это по сути тот же «список контента».
Обратил сегодня внимание: опция рандомный список в виджете «список контента» работает, на мой взгляд, некорректно — нестабильно отрабатывает заданное число отображаемых записей. Это может быть от заданного и до нуля (при этом виджет, естественно, отключается).
Проблемма в поле «Ссылка», в профиле пользователя не отображается.
Скорее всего поможет решение из комментария Лоадыря instantcms.ru/novosti/release2173.html#comment_123883
Точно. Благодарю.