Олег Щавелев

Олег Щавелев

С нами с 20 января 2017; Место в рейтинге пользователей: #28

[РЕШЕНО] mFilter2 - для опций не подключаются темплейты в категории где нет товаров с этими опциями.

Привет коллеги!
Что-то я мозг себе уже поломал, нет идей как сделать.

Вызываю фильтр. На странице где есть товары с требуемыми опциями, всё норм. А вот на страницах где нет товаров с опциями, просто выводится массив текстом (словно не указан чанк, хтоя в этом компоненте вроде как должен дефолтный чанк подставляться если чанк явно не указан).
В общем какой-то церебросекс происходит.
Boris Akimenko
03 декабря 2018, 01:12
modx.pro
1
1 663
0

Не работает сниппет getComments плагина Tickets

Добрый день.
Столкнулся с проблемой следующего характера, в одном шаблоне вызываются одновременно сниппеты TicketComments и getComments.
Комментарии к статье:
[[!TicketComments?
    &tplCommentAuth=`commentAuth_ticketsTpl`
    &tplCommentGuest=`commentGuest_ticketsTpl`
    &tplCommentForm=`commentForm_ticketsTpl`
    &tplComments=`commentsWrapper_ticketsTpl`        							                        
    &tplLoginToComment=`commentLoginToComment_ticketsTpl`
    &gravatarSize=`70`
]]
А в боковой панели я хочу вывести, к примеру, 10 последних комментариев ко всем статьям:
Артём
11 ноября 2018, 22:40
modx.pro
1
744
0

Добавление select с данными из другой таблицы в modExtra

Всем привет. Кто-нибудь на заготовке modExtra делал CоmboBox с данными из других таблиц? У меня есть файл вызывающий модальное окно с полями для заполнения:

assets/components/extras/js/mgr/widgets/categories.window.js
Extras.window.CreateCategory = function (config) {
    config = config || {};
    if (!config.id) {
        config.id = 'extras-category-window-create';
    }
    Ext.applyIf(config, {
        title: _('extras_category_create'),
        width: 550,
        autoHeight: true,
        url: Extras.config.connector_url,
        action: 'mgr/category/create',
        fields: this.getFields(config),
        keys: [{
            key: Ext.EventObject.ENTER, shift: true, fn: function () {
                this.submit()
            }, scope: this
        }]
    });
    Extras.window.CreateCategory.superclass.constructor.call(this, config);
};
Ext.extend(Extras.window.CreateCategory, MODx.Window, {

    getFields: function (config) {
        return [{
            xtype: 'textfield',
            fieldLabel: _('extras_category_name'),
            name: 'name',
            id: config.id + '-name',
            anchor: '99%',
            allowBlank: false,
        }, {
            xtype: 'textfield',
            fieldLabel: _('extras_category_repository'),
            name: 'repository_id',
            id: config.id + '-repository_id',
            anchor: '99%',
            allowBlank: true,
        }, {
            xtype: 'xcheckbox',
            boxLabel: _('extras_category_active'),
            name: 'active',
            id: config.id + '-active',
            checked: true,
        }];
    },

    loadDropZones: function () {
    }

});
Ext.reg('extras-category-window-create', Extras.window.CreateCategory);


Extras.window.UpdateCategory = function (config) {
    config = config || {};
    if (!config.id) {
        config.id = 'extras-category-window-update';
    }
    Ext.applyIf(config, {
        title: _('extras_category_update'),
        width: 550,
        autoHeight: true,
        url: Extras.config.connector_url,
        action: 'mgr/category/update',
        fields: this.getFields(config),
        keys: [{
            key: Ext.EventObject.ENTER, shift: true, fn: function () {
                this.submit()
            }, scope: this
        }]
    });
    Extras.window.UpdateCategory.superclass.constructor.call(this, config);
};
Ext.extend(Extras.window.UpdateCategory, MODx.Window, {

    getFields: function (config) {
        return [{
            xtype: 'hidden',
            name: 'id',
            id: config.id + '-id',
        }, {
            xtype: 'textfield',
            fieldLabel: _('extras_category_name'),
            name: 'name',
            id: config.id + '-name',
            anchor: '99%',
            allowBlank: false,
        }, {
            xtype: 'textfield',
            fieldLabel: _('extras_category_repository'),
            name: 'repository_id',
            id: config.id + '-repository_id',
            anchor: '99%',
            allowBlank: true,
        }, {
            xtype: 'xcheckbox',
            boxLabel: _('extras_category_active'),
            name: 'active',
            id: config.id + '-active',
        }];
    },

    loadDropZones: function () {
    }

});
Ext.reg('extras-category-window-update', Extras.window.UpdateCategory);
SEQUEL.ONE
22 сентября 2018, 17:03
modx.pro
4
1 863
+1

[tvSuperSelect] 1.2.2 Кастомайз по полной программе!


Новый функционал позволяет навесить свой процессор на получение значений для любого ТВ с типом tvSuperSelect. Теперь мы можем вывести абсолютно любые значения в этом ТВ, которые передадим через наш процессор. Предлагаю рассмотреть подробнее, как это делается и что это нам даст.
Павел Гвоздь
13 сентября 2018, 10:54
modx.pro
20
2 963
+23

Ускоряем массовое обновление ресурсов в 3 раза

Массовая выгрузка ресурсов, не такая уж простая задача, как может показаться на первый взгляд. Много подводных камней, касающихся улучшения производительности скрипта. Особенно неприятно, когда тормозит скорость работы из-за функционала ядра MODX.


Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.

Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.

Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
Павел Гвоздь
11 сентября 2018, 14:29
modx.pro
28
2 176
+19

Бесконечное сохранение ресурсов в Modx 2.6.5

После обновления до версии 2.6.5 возникла проблема с сохранением ресурсов.
Нажимаем Сохранить и идет бесконечное сохранение, хотя если обновить страницу видим что ресурс сохранился.
С чанками и шаблонами такой проблемы нет.
Никто не сталкивался?
Михаил
14 августа 2018, 09:40
modx.pro
1
4 417
0

Женим mFilter2 и msListOrders

Выводим заказы miniShop2, фильтруем с помощью mFilter2.


Необходимые компоненты
msListOrders
mSearch2
— протестировать на демо сайте
Володя
28 июля 2018, 15:07
modx.pro
17
2 388
+16

msProductsComposerSelection

Дополнение позволяет сформировать условия для выборки товаров и привязать их к ресурсу, после чего использовать в таких сниппетах как msProducts, mSearch2, mFilter2 и прочих, которые в своей работе используют параметр where.

Видео обзор

Купить
Prihod
21 февраля 2018, 08:12
modx.pro
2
2 261
+3

Не могу две строчки переписать на Fenom

Решил отказаться от тегов MODX
Но две строчки в моем pdoPage  заставили меня задуматься на два часа
Я знаю,  что все просто только не знаю как правильно сделать
Буду рад если кто поможет

&select=`{  
"Hits": "*" ,
"modResource": "*"  
}`
&leftJoin=`{
"Hits":{  "class":"Hits", "on":"Hits.res = modResource.id"}
}`


Как это перевести на Fenom?
Вася
10 февраля 2018, 12:24
modx.pro
2
857
0

Какой визуальный редактор выбрать?

Сейчас пользуюсь TinyMCE Rich Text Editor — отличный редактор, вполне устраивает. Но, хочется иметь редактор с более широкими возможностями. Например, иметь возможность оперировать тегами mark, time, details, summary, blockquote, code и т.п. Может кто присоветует редактор с расширенными возможностями?
Markus
02 февраля 2018, 18:54
modx.pro
2
4 721
0