Кирилл Киселев

Кирилл Киселев

С нами с 12 июля 2016; Место в рейтинге пользователей: #427

ACE beautify/prettify

Всем привет. Не нашел, чтобы редактор ACE мог форматировать код. Пробовал инжектить непосредственно в core/components/ace/model/ace/ace.class.php, но безрезультатно


Вместе с этим параллельно правил ex-beautify.js, метод b.beatuify вызывается, но хоткей вообще не работает и никак не реагирует.


Как можно решить эту проблему?
Кирилл Киселев
30 июля 2022, 04:54
modx.pro
867
0

Сортировка в mFilter2 от кириллицы к латинице

Коллеги, приветствую. Кто сталкивался с возможностью сортировки в mFilter2 по pagetitle не от латиницы к кириллице, а наоборот?
Сейчас она работает так: A-Z А-Я по ASC, а как сделать чтобы сначала шли А-Я и потом A-Z?
Кирилл Киселев
29 мая 2021, 18:05
modx.pro
415
0

Open Source проекты на MODX

Доброго времени суток! Посоветуйте проекты с открытым исходным кодом на MODX, хочется попробовать вложить свои навыки в разработку и поучиться у других. Либо дать наводку, где искать такие.
Кирилл Киселев
13 января 2020, 18:20
modx.pro
688
0

MIGXdb, migxLoopCollection и mFilter2

Доброго времени суток.

Пытаюсь подружить mFilter2 и кастомную таблицу MIGXdb, вывожу так:
{'!mFilter2' | snippet : [
    'packageName' => 'ritual',
    'classname' => 'ritualWholesale',
    'filters' => 'wholesale|products',
    'element' => 'migxLoopCollection',
    'suggestionsRadio'=>'wholesale|products',
    'filterOptions'=>'{"autoLoad":0}',
    'showLog' => false,
    'tpl' => 'tpl.wholesale.firm',
    'tplOuter'=> 'tpl.mFilter2.outer.custom'
]}

На сайте:


Изначально создал кастомный фильтр и описал в файле, проблема в том, что сниппет почему-то берет ids как чанк…


Проверка на массив идентификаторов


А должен подставляться массив идентификаторов из MIGXdb таблицы. В чём может быть проблема, куда копать?
Кирилл Киселев
02 июля 2019, 20:38
modx.pro
696
0

Применение промокода к заказу в админке

Внимание! Это готовое решение. Для переноса не хватает рейтинга.
Всем привет. Была задача сделать применение промокода к заказу из админки, собственно, чего я и сделал и готов поделиться с сообществом готовым решением.

Версии компонентов, на которых тестировалось решение:
На более ранних версиях не тестировал. Если пробуете, то делайте на свой страх и риск.
miniShop2 2.4.15-pl
msPromocode 1.3.11-beta
Кирилл Киселев
19 октября 2018, 18:09
modx.pro
1
920
+2

Восстановление ресурса из кэша

Внимание! Это не вопрос, а готовое решение. В готовые решения не могу разместить, т.к. не хватает рейтинга.
Всем привет. Как-то столкнулся с такой проблемой, что вся кодировка бэкапа базы данных была сбита и оставался только чистый кэш. Оставляю на случай, если кому поможет решить проблему.
Таким же успехом можно прогнать и системные настройки. Здесь я показал в пример только восстановление полей ресурса, TV к нему и чанков.

<?php
$resources = $modx->getIterator('modResource');

// Указываем путь к кэшу
$options = array(
  xPDO::OPT_CACHE_KEY => 'resource/web/resources',
);

foreach ($resources as $resource) {
    // Берём каждый ресурс по идентификатору
    $cache = $modx->cacheManager->get($resource->get('id'), $options);
    
    // Массив параметров ресурса
    $data = $cache['resource'];
    
    // Заносим все поля ресурса из кэша
    $resource->fromArray($data);
    
    foreach($data as $property) {
        // Дополнительное поле выглядит как массив
        if (is_array($property)) {
            // Если это массив, то берём название поля и его значения в 1-й и 2-й ячейках
            $resource->setTVvalue($property[0], $property[1]);
        }
    }
    
    $resource->save();
    
    // Бывает слетает кодировка и в чанках, восстанавливаем чанки, которые относятся к ресурсу
    $chunks = $cache['sourceCache']['modChunk'];
    
    foreach ($chunks as $key => $chunk) {
        $modChunk = $modx->getObject('modChunk', array('name' => $key));
        
        // getIterator тут не работает
        $modChunk->setContent($chunk['fields']['snippet']);
        
        $modChunk->save();
    }
}
Кирилл Киселев
26 сентября 2018, 22:59
modx.pro
865
+1

Вопрос по ExtJS: как перезаписать action конфига? [РЕШЕНО]

Есть такая конструкция и нужно поменять путь свойства action у baseParams. Каким методом ExtJS можно переопределить эту функцию? Смотрел метод Ext.override, но он не помогает.

miniShop2.window.UpdateOrder = function (config) {
    config = config || {};

    Ext.applyIf(config, {
        title: _('ms2_menu_update'),
        width: 750,
        baseParams: {
            action: 'mgr/orders/update',
        },
    });
    miniShop2.window.UpdateOrder.superclass.constructor.call(this, config);
};

Нашёл такое решение.

Ext.ComponentMgr.onAvailable("minishop2-window-order-update", function (e) {
    var windowOrder = Ext.getCmp("minishop2-window-order-update");
    
    windowOrder.baseParams.action = "mgr/custom/orders/update";
});
Кирилл Киселев
18 декабря 2017, 13:41
modx.pro
1 228
0

Ошибка addPackage called with an invalid package name на всех страницах

Всем привет!
Через migxdb пытался создать package и в дальнейшем его удалил с папкой в models/. Потом начались падать ошибки со всех страниц:
addPackage called with an invalid package name
Не могу понять как это убрать и где это лежит.
Вопрос решён.
Кирилл Киселев
06 декабря 2017, 09:37
modx.pro
3 307
0

Вывод опций через плейсхолдеры

В новой версии минишопа перестал работать вывод опций товара на странице товара через плейсходеры. Через сниппет msproductoptions отдельную опцию выводит, это всё работает. Это так задумано было?
На одном из сайтов стоит версия 2.4.8-pl2 и там вывод работает.
На другом стоит последняя версия и там, соответственно, не работает. Вопрос чисто разработчикам.
Написал свой маленький плагин, но стало интересно, почему не работает вывод через плейсхолдеры, убрали всё-таки или нет?)
Кирилл Киселев
20 октября 2017, 17:37
modx.pro
2 453
0

Расширение класса msop2

Привет всем!
Есть товар, у него есть состав, мне нужно, чтобы при изменении опции менялся состав, т.е, для этого будет ещё одна вкладка при добавлении опции «Состав».
Где и что нужно прописать, чтобы эта вкладка появилась?
Я в msop2price.map.inc.php добавил своё поле «composition» и так же в БД добавил это поле, но ничего не работает. Помогите, пожалуйста!

Кирилл Киселев
22 сентября 2016, 06:32
modx.pro
1 030
0