Вадим Нарочный,
Вы на скрине самую важную часть ошибки (начало) как раз обрезали.
Вадим Нарочный,
Вы на скрине самую важную часть ошибки (начало) как раз обрезали.
Они там с чем-то столкнулись и что-то советуют.
С чем столкнёмся мы и что можно посоветовать:
1. Во всех интерпретируемых языках программирования идет потихоньку процесс ускорения обработки за счет «непрощения» ошибок и вольностей в коде. Потому что обработка этих вольностей отнимает драгоценное время. С каждым релизом всё больше затягивают гайки и стандарты становятся всё строже. И это правильно! Не удивлюсь, если к версии 10 отменят динамическую типизацию переменных, которая жрёт немало времени на обработку.
2. Посоветовать можно почитать это:
docs.instantcms.ru/dev/php-agreement
И это:
www.php.net/releases/8.1/ru.php
Там есть пункт «Устаревшая функциональность и изменения в обратной совместимости».
И, соответственно, разработчикам дополнений нужно почитать всё это и придерживаться новых правил в своих разработках.
InstantCMS 2.14.3 нормально работает на PHP8.1, я пробовал.
Можно изменить конфигурацию mysql.
Найти на сервере в папке /etc файл my.chf и прописать там в блоке [mysqld]
sql-mode=''
Это делается не в файлах сайта, а на самом сервере. Если у вас не VPS, а шаред хостинг — пишите в техподдержку хостера.
Олег Васильевич я,
Массовая привязка, возможно.
Вы спросите у топикстартера, вот он точно скажет зачем.
А вот представить себе ситуацию, при которой нужно это делать ручками в базе, уже не так просто
Вполне можно представить. Владелец решил изменить концепцию подачи контента. А контент уже размещен.
блин, жаль, я думал достаточно указать id записи к которой прикрепляется. Оказывается все сложнее.
Да ничего там сложного.
Пример: Хотим прикрепить новость №56 к посту №88. Заполняем строку:
INSERT INTO cms_content_relations_bind (parent_ctype_id, parent_item_id, child_ctype_id, child_item_id) VALUES (6, 88, 10, 56)
Где 6 и 10 номера типов контента посты и новости в таблице cms_content_types.
В таблице cms_content_relations_bind надо прописать id, parent_ctype_id, parent_item_id, child_ctype_id, child_item_id, target_controller.
rshabalin,
Стили и шрифты скопировать в модерн можно. Но такая фигня получится...
Вариант: развернуть копию сайта на локальном опенсервере и сделать из шаблона модерн копию того, что было на «простом» шаблоне.
скрыть от всех пользователей и гостей отображение администратора сайта в списке пользователей
Удалять из массива пользователей при листинге пользователя с №1.
Можно реализовать в хуке profiles_before_list.
запретить переход в его профиль по прямой ссылке
Самый простой вариант — каким-нибудь редиректом с /users/1 на полный список юзеров или еще куда.
сделать неактивными ссылки на автора (администратора)в контенте?
Исправить кучу файлов шаблона (все, где есть вывод автора) с исправлением ссылки на текст по условию $user->id == 1
Вполне вероятно, как-то это можно сделать прямо в браузере с помощью яваскрипта, но увы, не силен я в яваскрипте.
Скрыть админа от юзеров без кнопки в админке это долго ?
… и нудно.
На самом деле, если упереться, это сделать можно. Но никому, кроме вас не нужно...
Есть какая-то сложность ?
Опишите подробно, что в вашем понимании означает «скрыть админа от юзеров».
Экспортируйте тему с сайта, установленного с нуля и импортируйте на ваш сайт.

Как реализовать зажжение свечи памяти по клику на кнопку — на сутки, двое?
По истечении времени должна потухнуть.
Я свечу могу добавить через дополнительное поле… но вот зажечь и потом погасить...
Доработайте это дополнительное поле. И организуйте в базе табличку вроде cms_candles, куда будут писаться идентификатор свечи и время зажжения.
Далее, можно организовать в каком-нибудь компоненте хук cron_candles, который по заданию планировщика будет гасить свечи, зажженные больше двух дней назад.
Процесс зажжения свечи — либо загружать на страницу яваскрипт с аяксом, который будет дергать php скрипт, либо просто в шаблоне прописать путь к php файлу, который будет срабатывать по клику на свече.
Посмотрите, что в конфиге написано про сессии:
instantcms.ru/forum/vykidyvaet-iz-adminki-posle-ustanovki.html#post-345935
$users_model = cmsCore::getModel('users'); $user_avatar = $users_model->getUser(1)['avatar'];
Так даже в шаблоне сработает. Но получите YAML.
Можно потом распустить его в массив, если надо.
$array_avatars = $users_model->YamlToArray($user_avatar);