Вероятно, где-то в настройках не указано пользователям каких групп платить.
Loadырь
У меня 2.16.1
Это даже лучше, смысл тот же. Вы используете уже готовый экшен компонента «admin». Единственное, возможно, но не точно, опция
'show_id' должна быть равна true или не должно быть этой опции и в самой таблице должны выводится id строк типа этого github.com/instantsoft/icms2/blob/master/system/controllers/admin/grids/grid_controllers_events.php#L19-L21
На 2.16.0 только это github.com/instantsoft/icms2/blob/master/system/controllers/admin/grids/grid_controllers_events.php#L11-L12
Там «events» меняете на свою таблицу в БД без префикса и экшены не нужны.
Есть такая система управления отзывами prefitchi.ru/news/9-rossijane-stali-pervymi-na-chempionate-mira.html но судя по комментам, она будет очень сложной для вас.
Теперь начиная с версии 2.12.1 читаете новости к каждому релизу и выполняете, что там надо сделать до обновления и после обновления. Не во всех релизах, но в некоторых точно есть, например снести всю папку шаблона admincoreui и много чего ещё интересного найдете.
Правильнее выводить через $field. Например тут github.com/instantsoft/icms2/blob/master/templates/modern/content/default_item.tpl.php#L38 в вашем шаблоне прописать это
<?php if ($field['name'] == 'opisanie'){ $field_opisanie = $field['html']; continue; } ?>
А там где хотите вывести это поле прописываете так
<div class="super-opisanie"> <?php echo $field_opisanie; ?> </div> <?php } ?>
Никак. Если только переписать компонент теги.
Достаточно сделать копию виджета cloud. В нем связать 3-4 таблицы из базы данных и получить нужные ссылки. Вопрос в другом: стоит ли «мутить» такой запрос в бд, чтобы вывести десяток ссылок, где-то на странице сайта?
Если в переменную в запросе передаются данные прошедшие проверку, то переживать не о чем.
Вполне очевидно. Например, к товару можно прикрепить одного производителя, мероприятие может проходить только на одной площадке и тд.
Так оно и есть. Что сейчас мешает прикрепить товар к одному производителю или мероприятие к площадке?
сомнения вообще правильный ли подход?
Для самописного сайта — правильный, но для любой cms правильнее использовать имеющуюся модель для работы с базой данных.
какие последствия для безопасности?
В данном случае никаких, если:
1. вы уверены, что к данному файлу никто из посторонних не имеет доступа и не сможет прочитать ваши доступы к базе укзанные в нем;
2. вы уверенны, что в переменную $user_email прилетит только email и ничто другое, что пользователь может забить себе в поле с email.
как по другому по правильному сделать ?
Продолжать дальше разбираться с базой и понимание прийдет.
Вот такие классы это скрывают на мобилках github.com/instantsoft/icms2/blob/master/system/controllers/admin/grids/grid_ctype_fields.php#L28
Я правильно понимаю, скрытие/показ происходит только на странице редактирования?
Да, фраза «Зависимость показа поля в форме», как бы на это намекает или говорит об это прямо и конкретно — вам решать. Но логика простая — если поле не заполнено, оно и не выведется. А скрытое поле сложнее заполнить, чем отображаемое.
Вот зависимое поле demo.instantcms.ru/admin/ctypes/fields_edit/5/8

Вот как оно открывается demo.instantcms.ru/articles/edit/11


Соответственно если значение 2 то показать поле.
Не совсем так. Когда выберете значение 1, это поле скроется.
Вот условие, по которому определяется главная это страница или нет github.com/instantsoft/icms2/blob/master/templates/default/main.tpl.php#L44-L48
По сути вам надо всунуть содержимое тега <body> для разных дизайнов в это условие в этом файле вашего шаблона
<?php if($core->uri) { ?> <body>...Для всех страниц...</body> <?php } else { ?> <body>...Для главной...</body> <?php } ?>