Игорь Терентьев

Игорь Терентьев

С нами с 29 ноября 2013; Место в рейтинге пользователей: #88

Как перезаписать или расширить конфиг грида ExtJS

Всем привет! Вопрос к знатокам ExtJS.

Как расширить или перезаписать конфиг, а в идеале только один параметр?

Нужно в гриде с заказами выделять строку цветом. Для этого нужно добавить условие в getRowClass:
github.com/bezumkin/miniShop2/blob/master/assets/components/minishop2/js/mgr/misc/default.grid.js#L25-L40

Который наследуется в miniShop2.grid.Orders:
github.com/bezumkin/miniShop2/blob/master/assets/components/minishop2/js/mgr/orders/orders.grid.js
29 марта 2019, 19:25
modx.pro
1 565
+1

Как вы разрабатываете сайты на MODX в команде?

Всем привет!

Поделитесь своим опытом разработки сайтов в команде.



Сейчас мы разрабатываем сайты вдвоем. У каждого из нас есть по тестовому сайту. И еще есть один тестовый для клиента, где мы показываем новую версию перед продакшеном. Всего получается 3 сайта для разработки и 1 рабочий. Тестовые сайты расположены на нашем домене третьего уровня.
13 сентября 2018, 20:26
modx.pro
3
2 272
+2

Как сделать, чтобы getImageList понимал тэги Fenom?

Читал в этом вопросе, что можно просто заменить $modx->getChunk.

Я сделал копию getImageList и добавил в начало:
$path = MODX_CORE_PATH . 'components/pdotools/model/pdotools/';
$pdoFetch = $modx->getService('pdofetch','pdoFetch', $path, $scriptProperties);

И заменил $modx->getChunk на $pdoFetch->getChunk здесь

Но все равно тэги Fenome не распознаются.

Нужно это мне для работы с пагинацией и сложных чанков с условиями:
{'!pdoPage' | snippet : [
                'element' => 'getImageList',
                'docid' => $_modx->resource.id,
                'tvname' => 'resourcealbum',
                'processTVs' => 0,
                'where' => [
                    'active' => 1,
                ],
                'ajaxMode' => 'button',
                'tpl' => 'migx.gallery.item',
                'limit' => 2,
            ]}
26 февраля 2018, 19:50
modx.pro
1 438
0

Порядок значений опций товара

После сохранения товара изменяется порядок введенных значений опций.

До сохранения:

После сохранения:


Как это пофиксить? Пусть и с правкой исходников.
20 сентября 2017, 21:27
modx.pro
2 574
+1

MiniShop2 и греческий язык

В форме заказа не проходят валидацию греческие символы (например Σχήμα κουτιού και)

На счет php не знаю, но js точно не пропускает:



Не могу найти в default.js блок, который отвечает за валидацию.
05 сентября 2017, 09:06
modx.pro
1
2 138
0

Как через API добавить опцию товара miniShop2?

Размеры, цвета добавляются, а опцию «shank» не получается…
$ob = $modx->newObject('msProduct');
$tmp = [
    'pagetitle' => $pagetitle
    ,'class_key' => 'msProduct'
    ,'uri' => $url
    ,'createdon' => time()
    ,'template' => 4
    ,'price' => $cur_price
    ,'tags' => $tags
    ,'color' => $color
    ,'options-shank' => $shank
    ,'option-shank' => $shank
    ,'shank' => $shank
];
$ob->fromArray($tmp);
$ob->save();
01 августа 2017, 17:04
modx.pro
3
4 629
0

Меняется old_price при изменении price в плагине

При изменении цены через плагин (события: msOnGetProductPrice, msOnBeforeAddToCart, msOnAddToCart) перезаписывается значение поля old_price значением price (до изменения). Как сделать так, чтобы значение не изменялось или записать в него свое значение?

Плагин:
<?php
switch ($modx->event->name) {
    case 'msOnGetProductPrice':
        if ($modx->context->key == 'mgr') {
            return '';
        }
        $currencyrate = $modx->getService('currencyrate', 'currencyrate',
            $modx->getOption('currencyrate_core_path', null,
                $modx->getOption('core_path') . 'components/currencyrate/') . 'model/currencyrate/', $scriptProperties);
        if (!($currencyrate instanceof currencyrate)) {
            return '';
        }
        $currency = $currencyrate->currency;
        if ($currency == $modx->getOption('currencyrate_currency')) {
            return '';
        }
        $list = $currencyrate->getList();
        
	$values = & $modx->event->returnedValues;
        
        if (!isset($modx->event->returnedValues['price'])) {
            $modx->event->returnedValues['price'] = $price;
        }
        $price = &$modx->event->returnedValues['price'];
        $new_price = ($price * $list[EUR]) / $list[$currency];
        if ($new_price !== false) {
            $price = $new_price;
        }
        
        break;
}
19 июля 2017, 10:39
modx.pro
2 355
0

Кэширование pdoMenu

Как можно закэшировать уже обработанный результат работы сниппета, чтобы при открытии еще не закэшированной страницы данные не обрабатывались заново? Меню очень уж большое…
26 апреля 2017, 16:25
modx.pro
1 959
0

Сортировка в мультикатегориях MiniShop2

Можно ли как-то сортировать вручную товары (по типу menuindex) в мультикатегориях, чтобы в разных категориях был свой порядок и он никак не влиял на остальные категории?
06 февраля 2017, 10:44
modx.pro
1 745
0

Номер телефона miniShop2 в профиль пользователя

Добрый вечер!
Нужно при оформлении заказа брать номер телефона из msOrderAddress и записывать его в профиль пользователя.

Написал такой плагин, но номер телефона записывается совсем не тот…

<?php
switch ($modx->event->name) {
    case "msOnCreateOrder":
        $msUserId = $msOrder->get('user_id');
        $msAddress = $modx->getObject('msOrderAddress',$msUserId);
        $msPhone = $msAddress->get('phone');
        
        $user = $modx->getObject('modUser',$msUserId);
        $profile = $user->getOne('Profile');
        $profile->set('phone', $msPhone);
        $profile->save();
        break;
}

На этом этапе в переменную попадает id заказа, а не пользователя:

$msUserId = $msOrder->get('user_id');
22 января 2017, 14:39
modx.pro
6
3 738
0