Олег Щавелев
С нами с 20 января 2017; Место в рейтинге пользователей: #28[РЕШЕНО] mFilter2 - для опций не подключаются темплейты в категории где нет товаров с этими опциями.
Привет коллеги!
Что-то я мозг себе уже поломал, нет идей как сделать.
Вызываю фильтр. На странице где есть товары с требуемыми опциями, всё норм. А вот на страницах где нет товаров с опциями, просто выводится массив текстом (словно не указан чанк, хтоя в этом компоненте вроде как должен дефолтный чанк подставляться если чанк явно не указан).
В общем какой-то церебросекс происходит.
Что-то я мозг себе уже поломал, нет идей как сделать.
Вызываю фильтр. На странице где есть товары с требуемыми опциями, всё норм. А вот на страницах где нет товаров с опциями, просто выводится массив текстом (словно не указан чанк, хтоя в этом компоненте вроде как должен дефолтный чанк подставляться если чанк явно не указан).
В общем какой-то церебросекс происходит.
Не работает сниппет getComments плагина Tickets
Добрый день.
Столкнулся с проблемой следующего характера, в одном шаблоне вызываются одновременно сниппеты TicketComments и getComments.
Комментарии к статье:
Столкнулся с проблемой следующего характера, в одном шаблоне вызываются одновременно сниппеты TicketComments и getComments.
Комментарии к статье:
[[!TicketComments?
&tplCommentAuth=`commentAuth_ticketsTpl`
&tplCommentGuest=`commentGuest_ticketsTpl`
&tplCommentForm=`commentForm_ticketsTpl`
&tplComments=`commentsWrapper_ticketsTpl`
&tplLoginToComment=`commentLoginToComment_ticketsTpl`
&gravatarSize=`70`
]]
А в боковой панели я хочу вывести, к примеру, 10 последних комментариев ко всем статьям: Добавление select с данными из другой таблицы в modExtra
Всем привет. Кто-нибудь на заготовке modExtra делал CоmboBox с данными из других таблиц? У меня есть файл вызывающий модальное окно с полями для заполнения:
assets/components/extras/js/mgr/widgets/categories.window.js
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);
[tvSuperSelect] 1.2.2 Кастомайз по полной программе!
Ускоряем массовое обновление ресурсов в 3 раза
Массовая выгрузка ресурсов, не такая уж простая задача, как может показаться на первый взгляд. Много подводных камней, касающихся улучшения производительности скрипта. Особенно неприятно, когда тормозит скорость работы из-за функционала ядра MODX.
Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.
Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.
Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
Так, например, я столкнулся с куском кода в ядре, который увеличивает время выгрузки большого кол-ва товаров в ~3 раза, выполняя одно и то же ресурсоёмкое действие каждый раз, когда скрипт запускает обновление ресурса через процессор modResourceUpdateProcessor.
Сразу оговорю тот момент, что я не считаю этот кусок кода в ядре лишним или вредным, нет! Я полагаю, что этот код при обновлении большого кол-ва ресурсов можно выполнить самостоятельно по окончании работы скрипта выгрузки.
Я говорю вот об этой строчке кода. Давайте попробуем разобраться, что же с ней не так!
Бесконечное сохранение ресурсов в Modx 2.6.5
После обновления до версии 2.6.5 возникла проблема с сохранением ресурсов.
Нажимаем Сохранить и идет бесконечное сохранение, хотя если обновить страницу видим что ресурс сохранился.
С чанками и шаблонами такой проблемы нет.
Никто не сталкивался?
Нажимаем Сохранить и идет бесконечное сохранение, хотя если обновить страницу видим что ресурс сохранился.
С чанками и шаблонами такой проблемы нет.
Никто не сталкивался?
Женим mFilter2 и msListOrders
Выводим заказы miniShop2, фильтруем с помощью mFilter2.
Необходимые компоненты
— msListOrders
— mSearch2
— протестировать на демо сайте
Необходимые компоненты
— msListOrders
— mSearch2
— протестировать на демо сайте
msProductsComposerSelection
Дополнение позволяет сформировать условия для выборки товаров и привязать их к ресурсу, после чего использовать в таких сниппетах как msProducts, mSearch2, mFilter2 и прочих, которые в своей работе используют параметр where.
Видео обзор
Купить
Видео обзор
Купить
Не могу две строчки переписать на Fenom
Решил отказаться от тегов MODX
Но две строчки в моем pdoPage заставили меня задуматься на два часа
Я знаю, что все просто только не знаю как правильно сделать
Буду рад если кто поможет
Как это перевести на Fenom?
Но две строчки в моем pdoPage заставили меня задуматься на два часа
Я знаю, что все просто только не знаю как правильно сделать
Буду рад если кто поможет
&select=`{
"Hits": "*" ,
"modResource": "*"
}`
&leftJoin=`{
"Hits":{ "class":"Hits", "on":"Hits.res = modResource.id"}
}`
Как это перевести на Fenom?
Какой визуальный редактор выбрать?
Сейчас пользуюсь TinyMCE Rich Text Editor — отличный редактор, вполне устраивает. Но, хочется иметь редактор с более широкими возможностями. Например, иметь возможность оперировать тегами mark, time, details, summary, blockquote, code и т.п. Может кто присоветует редактор с расширенными возможностями?