можно. снизил версию
как же я ошибался. Сколько всего нет в 2.13.1 и default шаблоне.
Удалил разработку с вашего сайта. Обновитесь до 2.15.1 хотя бы.
можно. снизил версию
как же я ошибался. Сколько всего нет в 2.13.1 и default шаблоне.
Удалил разработку с вашего сайта. Обновитесь до 2.15.1 хотя бы.
Alexandr18181, можно. снизил версию
Как я понимаю, нужно вывести реферера первого уровня? Биллинг хранит данные о нем в таблице billing_refs
В приложении к сообщению компонент «Кто спонсор». После установки, если биллинг есть, и реферер найден, будет так

Если что-то пошло не так, просто отключите компонент и напишите тут в теме. Как будет время, поправлю.
Gnom, начните с документации docs.instantcms.ru/manual/ctypes/fields/add
Kreator, вот такой код использовал в одном из проектов года два назад. Может поможет
public function actionRelated() { $bind_id = $this->request->get('bind_id'); $item_id = $this->request->get('item_id'); cmsCore::error404(); } $model = new cmsModel(); $widget_array = $model->getItemById('widgets_bind', $bind_id, function($item, $model) { $item['options'] = cmsModel::yamlToArray($item['options']); $item['groups_view'] = cmsModel::yamlToArray($item['groups_view']); $item['groups_hide'] = cmsModel::yamlToArray($item['groups_hide']); $item['languages'] = cmsModel::yamlToArray($item['languages']); $item['template_layouts'] = cmsModel::yamlToArray($item['template_layouts']); $item['device_types'] = cmsModel::yamlToArray($item['device_types']); return $item; }); if (!$widget_array) { cmsCore::error404(); } //чтобы получить больше данных $oldLimit = $widget_array['options']['limit']; $widget_array['options']['limit'] = 66; //чтобы не было ошибок $widget_array['controller'] = 'content'; $widget_array['name'] = 'list'; $widget_array['is_cacheable'] = false; $widget_array['bind_id'] = $widget_array['id']; //ну и получим данные об открытой записи тк $ctype_name = $model->getField('content_types', $widget_array['options']['ctype_id'], 'name'); $item = $model->getItemById('con_' . $ctype_name,$item_id); if (!$item) { cmsCore::error404(); } $item['ctype_name'] = $ctype_name; cmsModel::cacheResult('current_ctype_item', $item); //подсмотрено в cms_core->runWidget и cms_template->renderWidget $widget = cmsCore::getWidgetObject($widget_array); //чтобы в list_tiles_news отличить этот запрос $widget->oldLimit = $oldLimit; if($data === false){ cmsCore::error404(); } $tpl_path = cmsCore::getWidgetPath($widget->name, $widget->controller); $tpl_file = $this->cms_template->getTemplateFileName($tpl_path . '/' . $widget->getTemplate()); $data['widget'] = $widget; $this->cms_template->processRender($tpl_file, $data); }
Chambers, на форуме уже проскакивало решение. Сделайте два поля для контента. Одно, с включенным типографом, сделайте доступным для заполнения обычному пользователю. Второе, с выключенным, оставьте в доступе только админу.
Разместите их др. над др. И когда статья с обязательной ссылкой, размещайте ее от админа во втором поле. И ставьте там любые ссылки.
Chambers, завязывайте с платными статьями, и тогда не нужен будет большой список прямого редиректа.
Или да, отключайте, и смотрите за контентом, который размещают пользователи.
alfaclub, какой шаблон используется в админке? Должен быть admincore, он дочерний от modern. В modern хэлпер берется отсюда /system/libs/template.helper.php и в нем такая функция есть github.com/instantsoft/icms2/blob/2c9aec86fc64d93946a963ed6ba739ce8f3c0f7d/system/libs/template.helper.php#L10
Pawell, вы удалили файлы, но упоминание о виджете осталось в базе в таблице widgets_bind
В вашем случае, скорее всего это последняя строчка.
Если кратко, то при формировании страницы виджеты сперва получаются из базы, потом идет подключение файлов виджетов (на этом этапе у вас проблема), а затем уже виджеты отдаются в шаблон и вы их видите (до сюда не доходит, так как ошибка из серии Fatal error)
Chambers, редиректы формируются уже после получения данных из бд, например, в поле html редиректы формирует типограф при выводе информации на сайте. Править что-то в бд нет смысла.
sferoid, копать сюда

Ну и если совсем правильно, то такие правки лучше делать с помощью handler docs.instantcms.ru/dev/controllers/backend/grids
Рачей, есть же гриды docs.instantcms.ru/dev/controllers/backend/grids
С недавних версий есть возможность создавать гриды с помощью трейтов всего одним файлом.
И также с недавних времён есть возможность выводить гриды на фронте сайта.
Мб ваш случай и таким образом решите вопрос доступа к некоторым таблицам базы.
No Name, вот буквально вчера делал
'title' => 'Начало показа снега', 'hint' => 'Если не заполнено, снег будет "идти" всегда<br>в формате день/месяц', 'options' => [ 'use_inputmask' => 1, 'inputmask_str' => '99/99' ] )),
Антон, Nikolay имеет в виду Ospanel ospanel.io