Роман

Роман

Был в сети 13 декабря 2022, 17:06
Заказы принимаю
Добавлять поля к форме, ID формы, ID пользователя, Дата заполнения. Либо расширить таблицу:
formit_forms(так наверно быстрее будет поиск, если еще индекс сделать).
Перед отправкой проверять на эти параметры, написав свой хук.
Скорее всего и не придет. Там в классе minishop2 переопределить функцию changeOrderStatus
$subject = $this->pdoTools->getChunk('@INLINE '. $status->get('subject_user'), $pls);
И сделать вместо @INLINE, modChunk.
Не уверен, но попробовать стоит.

Что-то типа того.
Посмотрите,
тут, может натолкнет на мысль.
Часть кода, что быстро написал:
Ext.override(MODx.panel.User,{
    getParentFields: MODx.panel.User.prototype.getFields,
    
    getFields: function(config) {
        var parentFields = this.getParentFields.call(this,config);
		parentFields.push({
			id: 'my-custom-tab'
			,title: 'Доступ к курсам'
			,layout: 'form'
			,defaults: { border: false ,autoHeight: true }
			,hideMode: 'offsets'
			,items: [{
				html: '<p>Включение и отключение доступа пользователя к видео-урокам</p>'
				,xtype: 'modx-description'
			},
			{
				xtype: 'textfield'
				,fieldLabel: 'Кол-во баллов'
				,name: 'ball'
				,width: 300
			
			},
			{
			xtype: 'panel',
			cls: 'container',
			items: [
				{
					xtype: 'grid',
					columns: [ // Добавляем ширину и заголовок столбца
						{dataIndex: 'date', width: 150, header: 'Дата'},
						{dataIndex: 'count', width: 150, header: 'Кол-во'}
					],
					autoHeight: true, // Высота таблицы вычисляется автоматически
					viewConfig: {
						forceFit: true, // Растягиваем таблицу на всю ширину
						scrollOffset: 0 // Убираем вертикальный скролл (у нас же автовысота)
					},
					store: new Ext.data.ArrayStore({
						fields: ['date','count'],
						data: [
							['2021-11-09', '-7'],
							['2021-11-09', '-3'],
							['2021-11-09', '+10'],
						]
					})
				}]
			}]
		});

        return parentFields;
    }
});
Я делал так и ставил событие на OnUserFormRender
if ($modx->event->name != 'OnUserFormRender') return '';
$modx->controller->addLastJavascript('/assets/components/customModx/js/mgr/user/tab.js');

Файл: /assets/components/customModx/js/mgr/user/tab.js
Ext.override(MODx.panel.User,{
    getParentFields: MODx.panel.User.prototype.getFields,
    getFields: function(config) {
        var parentFields = this.getParentFields.call(this,config);
		parentFields.push({
			id: 'my-custom-tab'
			,title: 'Доступ к курсам'
			,layout: 'form'
			,defaults: { border: false ,autoHeight: true }
			,hideMode: 'offsets'
			,items: [{
				html: '<p>Включение и отключение доступа пользователя к видео-урокам</p>'
				,xtype: 'modx-description'
			},{
				//Тут остальные элементы
			}]
		});

        return parentFields;
    }
});