Игорь Терентьев
С нами с 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
        
        
        
        
    Как расширить или перезаписать конфиг, а в идеале только один параметр?
Нужно в гриде с заказами выделять строку цветом. Для этого нужно добавить условие в 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
Как вы разрабатываете сайты на MODX в команде?
            Всем привет!
Поделитесь своим опытом разработки сайтов в команде.

Сейчас мы разрабатываем сайты вдвоем. У каждого из нас есть по тестовому сайту. И еще есть один тестовый для клиента, где мы показываем новую версию перед продакшеном. Всего получается 3 сайта для разработки и 1 рабочий. Тестовые сайты расположены на нашем домене третьего уровня.
        
        
        
        
    Поделитесь своим опытом разработки сайтов в команде.

Сейчас мы разрабатываем сайты вдвоем. У каждого из нас есть по тестовому сайту. И еще есть один тестовый для клиента, где мы показываем новую версию перед продакшеном. Всего получается 3 сайта для разработки и 1 рабочий. Тестовые сайты расположены на нашем домене третьего уровня.
Как сделать, чтобы getImageList понимал тэги Fenom?
            Читал в этом вопросе, что можно просто заменить $modx->getChunk.
Я сделал копию getImageList и добавил в начало:
И заменил $modx->getChunk на $pdoFetch->getChunk здесь
Но все равно тэги Fenome не распознаются.
Нужно это мне для работы с пагинацией и сложных чанков с условиями:
        
        
        
    Я сделал копию 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,
            ]}        Порядок значений опций товара
MiniShop2 и греческий язык
Как через 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();        Меняется 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;
}        Кэширование pdoMenu
            Как можно закэшировать уже обработанный результат работы сниппета, чтобы при открытии еще не закэшированной страницы данные не обрабатывались заново? Меню очень уж большое… 
        
        
        
        
    Сортировка в мультикатегориях MiniShop2
            Можно ли как-то сортировать вручную товары (по типу menuindex) в мультикатегориях, чтобы в разных категориях был свой порядок и он никак не влиял на остальные категории?        
        
        
        
    Номер телефона miniShop2 в профиль пользователя
            Добрый вечер!
Нужно при оформлении заказа брать номер телефона из msOrderAddress и записывать его в профиль пользователя.
Написал такой плагин, но номер телефона записывается совсем не тот…
На этом этапе в переменную попадает id заказа, а не пользователя:
        
        
        
    Нужно при оформлении заказа брать номер телефона из 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');