Александр

Александр

Был в сети 08 декабря 2022, 15:03
Заказы не принимаю
ну это понято, просто надо было реализовать функционал загрузки изображений при помощи url и плюс с источника файлов, что позволяет данный компонент, если поле используется не в MIGX, с MIGX к сожалению — не работает, буду думать как реализовать
Обнаружил проблемку, если вызывать в MIGX то функционал загрузки фото через url не работает
В консоли браузера только ошибки лупит, а в modx вроде бы тихо

может быть я что то не учел? или этот функционал просто не был продуман?
Кажется я понял, это сильно большой файл, а что бы его проверить сервер его сначала скачивает и по этому предупреждение срабатывает через большой промежуток времени. Если это действительно так, возможно ли как то это ускорить?
Все заработало после того как убрал путь до inedx.php в системных настройках ms2_plugins, сам не знаю за чем его туда добавил, видимо решил последовать примеру плагина msplColor который описывает Василий, при установке этого плагина в эту строку записывается путь до index.php, ну да ладно, главное все работает, спасибо Владимир за плагин
Подскажите пожалуйста что я делаю не так
я создал все необходимые файлы в core/components/minishop2/plugins/colors

содержимое index.php
<?php
return array(
    'map' => array(
        'msProductData' => require_once 'msproductdata.inc.php',
    ),
    'manager' => array(
        'msProductData' => MODX_ASSETS_URL . 'components/minishop2/plugins/colors/msproductdata.js',
    ),
);
содержимое msproductdata.inc.php
<?php
return array(
    'fields'    => array(
        'colors' => null
    ),
    'fieldMeta' => array(
        'colors' => array(
            'dbtype'  => 'text',
            'phptype' => 'json',
            'null'    => true,
        )
    )
);
содержимое msproductdata.js
miniShop2.combo.Colors = function (config) {
    config = config || {};
    
    var html = ''
    +'<span style="background:#{value};width: 45px;height: 15px;display: inline-block;border-radius: 2px;"></span>'
    +'<span> {value}</span>';
    
    Ext.applyIf(config, {
        xtype: 'superboxselect',
        allowBlank: true,
        msgTarget: 'under',
        allowAddNewData: true,
        addNewDataOnBlur: true,
        pinList: false,
        resizable: true,
        name: config.name || 'tags',
        anchor: '100%',
        minChars: 1,
        store: new Ext.data.JsonStore({
            id: (config.name || 'tags') + '-store',
            root: 'results',
            autoLoad: false,
            autoSave: false,
            totalProperty: 'total',
            fields: ['value'],
            url: miniShop2.config['connector_url'],
            baseParams: {
                action: 'mgr/product/getoptions',
                key: config.name
            }
        }),
        mode: 'remote',
        displayField: 'value',
        valueField: 'value',
        triggerAction: 'all',
        extraItemCls: 'x-tag',
        expandBtnCls: 'x-form-trigger',
        clearBtnCls: 'x-form-trigger',
        
        displayField: config.displayField || html,
	displayFieldTpl: config.displayFieldTpl || html,
        tpl: new Ext.XTemplate(''
        +'<tpl for="."><div class="x-combo-list-item">'
        + html
        +'</div></tpl>',{
            compiled: true
        })
        
    });
    config.name += '[]';

    Ext.apply(config, {
        listeners: {
            newitem: function(bs, v) {
                bs.addNewItem({value: v});
            },
        },
    });

    miniShop2.combo.Colors.superclass.constructor.call(this, config);
};
Ext.extend(miniShop2.combo.Colors, Ext.ux.form.SuperBoxSelect);
Ext.reg('minishop2-combo-colors', miniShop2.combo.Colors);

miniShop2.plugin.colors = {
    getFields: function(config) {
        return {
            colors: {xtype: 'minishop2-combo-colors', description: '<b>[[+colors]]</b>'}
        }
    }
};
в таблице modx_ms2_products создал поле colors
в системных настройках в ms2_product_extra_fields дописал через запятую colors
В словари добавил и описание и заголовки, но у товара это поле так и не появилось
В «журнале ошибок» вот на что ругается, но я так понял что это не относиться к плагину
[2019-03-10 16:41:34] (ERROR in modTemplateVar::renderInput @ /home/a/acberebx/адрес/public_html/core/model/modx/modtemplatevar.class.php : 396) Old modTemplateVar getRender inputmethod is deprecated since version 2.2.0. 
[2019-03-10 16:41:34] (ERROR in modProcessor::run @ /home/a/acberebx/адрес/public_html/core/model/modx/modprocessor.class.php : 177) Flat file processor support is deprecated since version 2.7.0. 
[2019-03-10 16:41:38] (ERROR in modProcessor::run @ /home/a/acberebx/адрес/public_html/core/model/modx/modprocessor.class.php : 177) Flat file processor support is deprecated since version 2.7.0. 
[2019-03-10 16:41:41] (ERROR in modProcessor::run @ /home/a/acberebx/адрес/public_html/core/model/modx/modprocessor.class.php : 177) Flat file processor support is deprecated since version 2.7.0. 
[2019-03-10 16:41:47] (ERROR in modProcessor::run @ /home/a/acberebx/адрес/public_html/core/model/modx/modprocessor.class.php : 177) Flat file processor support is deprecated since version 2.7.0.
Привет, да тут на самом деле то и делиться нечем, AjaxForm по сути представляет из себя обертку в которой можно вызвать почти любой снипет — я так и сделал вместо Formit пишешь в параметрах Sendex и все параметры относящиеся к нему:
[[!AjaxForm?
    &snippet=`Sendex`
    &id=``
    &tplActivate=``
    и так далее (все параметры что тебе нужны)
]]