Happy, на демо 2.17.0
Работает?
Happy, на демо 2.17.0
Работает?
Делился бесплатно instantcms.ru/forum/pole-spisok-multivybor-s-ili.html
Только логика хранения данных другая, не через маску. Поэтому подойдёт только для новых полей.
Если эти нужные файлы в Дефолтном шаблоне перенести в Модерн?
Если у вас в цепочке должно быть несколько тем для наследования, то указываются имена в порядке следования от темы default, т.е. от меньшего приоритета к большему. Итого, в этом примере движок будет проверять таким образом:
Проверяется наличие файла по пути /templates/new_my_best_template/controllers/content/category_view.tpl.php. Если файл обнаружен — он сразу подключается.
Проверяется наличие файла по пути /templates/my_best_template/controllers/content/category_view.tpl.php. Если файл обнаружен — он сразу подключается.
И, наконец, если ранее файл не был найден, то подключается /templates/default/controllers/content/category_view.tpl.php.
При этом, если файла нет и в теме default, CMS выдаст ошибку и прервёт работу.
Документация docs.instantcms.ru/dev/templates/inherits
Получается, если все нужное есть в modern, а ваш шаблон — дочерний от modern или сам modern, то default можно удалить.
F_a_R_i_D, нет. В эту папку ставятся дополнения по умолчанию. В этой папке есть часть файлов, которая используется в других шаблонах. Например, файл github.com/instantsoft/icms2/blob/master/templates/default/assets/ui/typical_form.tpl.php есть только там.
А используется минимум 3 раза в движке «из коробки»

Как будут производиться обновления для тех, кто в сборке убрал некоторые компоненты?
написано же на странице сборки instantcms.ru/get/customize
Обновление с собранной вами версии до очередной необходимо выполнять вручную, согласно инструкций. На текущий момент автоматическое обновление сборок не предусмотрено.
Даже при отключенном варианте
при отключенном не влияют.
Но если компонент просто удален из базы, а файлы остались, он продолжит работать. Этот вопрос долго обсуждался, и возможность работать компонентам без регистрации в базе данных осталась.
Поэтому важно после удаления компонента удалить и его файлы. На весь сайт в целом компоненты влияют через хуки. Откройте раздел Компоненты — Управление событиями. Там можно отключить выполнение событий для ненужных компонентов, которые невозможно отключить в админке, или которые вы удалили, но не полностью. Будьте осторожны, отключая. События системных компонентов движка могут быть нужны для работы сайта. Перед отключением такого события лучше уточните на форуме, за что он отвечает.
Но как видите у меня не выполнились
с этим надо разбираться. Опишите, как повторить ситуацию?
Для эксперимента взял чистую 2.17.0 И установил на нее свой компонент. В версии 1.0.0 три хука. После установки все три хука были на месте. Движок их добавил сам при установке.
Установил последнюю версию компонента. В ней уже 5 хуков. После установки они все на месте

Ничего вручную «тыкать» не пришлось.
писать что есть новые действия!!!
лишнее. События сами дописываются при установке/обновлении. С 2.17.0 при отключении компонента обновлять события больше не надо.
Не? Не то?
я думаю, Vasa хочет использовать код типа
<?php $user = cmsCore::getModel('users')->getUser($item['user_id']); $fields = cmsCore::getModel('content')->setTablePrefix('')->getContentFields('cms_users'); echo $fields['city']['handler']->setItem($user)->parse($user['city']); ?>
но делать подобное в шаблоне это путь в никуда.
Правильнее будет поступить так:
1. Создать отдельный компонент
2. Зарегистрировать его в базе, чтобы его в любой момент можно было отключить
3. Добавить в него хук content_before_item
там уже есть данные об $ctype, $item, $fields github.com/instantsoft/icms2/blob/94d87caca51f4b5539533cd49e41def4482f8f0b/system/controllers/content/actions/item_view.php#L361
4. Поправить $user с помощью кода, который я написал выше
5. В шаблоне проверить, есть ли эти данные, и если есть, вывести...
Такой компонент будет работать годами и не мешать. Его всегда можно отключить, если в коде что-то устареет, пока не поправите.
Правки в шаблоне можно будет легко перенести выше, ниже и т.п. В них будет только верстка и один if
alfaclub, делаете копию файла github.com/instantsoft/icms2/blob/master/templates/modern/controllers/content/widgets/slider/slider.tpl.php
Называете, скажем, slider_16_9.tpl.php
Открываете файл и выпиливаете из него
<?php if ($device_type == 'desktop') { ?> embed-responsive-21by9<?php } else { ?> embed-responsive-4by3<?php } ?>
а вместо этого добавляете
embed-responsive-16by9
Доступные адаптивные размеры в бустрап есть в документации getbootstrap.com/docs/4.6/utilities/embed/
Все. Выбираете шаблон slider_16_9 в настройках виджета.
Но 16:9 на трубе имхо узковато по высоте. Поэтому там и добавлена строка, чтобы если слайдер открыт на телефоне, размеры были 4 к 3
динамическое создание свойств объектов помечено как устаревшее (deprecated)
можно заставить php передумать, добавив в начало файла после <?php строку
#[\AllowDynamicProperties]
как это сделано, например тут github.com/instantsoft/icms2/blob/94d87caca51f4b5539533cd49e41def4482f8f0b/system/core/user.php#L5
Vasa, есть проблема. И только на php 8.3
Пока можете заменить
на
И ожидайте. Думаю в 2.17.1 будет поправлено.
Это баг или я что-то не так делаю?
это особенности суммирования в php 8.3 Документация

суммирование идет кусочков ip. А там может быть что-то типа строки, которую не получается привести к числу...
Сделайте перед $guest_nickname
dump($_okets4,false); dump($_okets6);
и напишите дамп тут. Посмотрим, что в этих массивах у вас
в админ панели почему то работает
потому что там используется обновленный шаблон. А на самом сайте — какая-то доработка default. Надо обновить шаблон, используемый на сайте.
В частности, в вашем шаблоне устаревшие файлы /templates/ваш_шаблон/controllers/images/upload_multi.tpl.php и /templates/ваш_шаблон/controllers/images/upload_single.tpl.php
Что должно быть в них можно посмотреть на гите github.com/instantsoft/icms2/tree/master/templates/default/controllers/images
Или в default шаблоне на вашем сайте.