Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
20 августа 2017, 18:19
0
В стадии документирования и шлифовки…
Володя
20 августа 2017, 18:07
0
Да, все верно. Думаю на следующей неделе будет обновление.
Володя
20 августа 2017, 07:41
0
Все, как тут, только имя опции изменил. Если указываю name=«options[{$name}][]», то цена меняется только по первой опции, если name=«options[{$name}]», то цена меняется в зависимости от опции, но не суммируется.
если вы задали опцию как
options[{$name}]
то естественно на сервер придет не массив, а только последнее значение…
Володя
16 августа 2017, 17:29
0
к чему такие сложности?
сделайте все в сниппете и просто его вызывайте.
Володя
16 августа 2017, 15:31
0
ну раз у вас нет сниппета, то тут данные берутся из кеша.
см коммент modx.pro/help/13074/#comment-85512
Володя
16 августа 2017, 14:49
0
Вариант с некешированным плейсхолдером на Fenom как нибудь можно реализовать?
да вы смотрите как у вас вызван сам сниппет…
Володя
16 августа 2017, 14:27
0
Неужели все сбрасывают кэш при изменении цены на 1 товар?
возможные варианты:
— грохать весь кеш
— грохать кеш конкретного обновляемого ресурса
Володя
16 августа 2017, 14:03
0
После загрузки прайсов

после грохнуть кеш…
Володя
16 августа 2017, 13:37
+4
id: config.id + '-group_id',
желательно вообще не задавать, иначе будут проблемы при одновременном открытии нескольких окон, панелей и тд когда id дублируются.

var cmp = Ext.getCmp(config['id'] + '-schedule_id');
так тоже не есть хорошо, но когда нет других вариантов конечно можно)

можно сделать так
listeners: {
    select: {
        fn: function (r) {
            this._handleChange();
        },
        scope: this
    }
}

//...

_handleChange: function () {
    var f = this.fp.getForm();
// получаем поля по имени
    var _field1 = f.findField('name_field1');
    var _field2 = f.findField('name_field1');

    _field2.baseParams['name_field1'] = _field1.getValue();

    // показываем пагинацию если нужно на комбике
    if (!!_field2.pageTb) {
        _field2.pageTb.show();
    }
    _field2.store.load();
}
Володя
12 августа 2017, 11:13
+3
Задачу было необходимо решить скорее, поэтому решил сам
отлично! Могу только сказать спасибо!)
Естественно, когда если ты внедришь поддержку работы с массивами опций, то данное решение утратит актуальность и я его удалю. Только просьба сообщить об этом тут. :)
Не собираюсь в ближайшее время это делать. Это повлияет на логику компонента…
Да и зачем удалять. Хороший пример как можно модифицировать стандартную логику расчета.
Володя
12 августа 2017, 11:04
+1
Вот что значит свежая голова и умелые руки…
Оказалось, что компонент не умеет прибавлять к начальной цене товара несколько цен из модификаций одной опции.
наверно неверно сформулировал. Компонент просто не работает с опциями массивами…
$modx->newQuery('msopModification')
для этого можно задействовать метод getModificationByOptions
ps. И да, для таких вопросов есть ТП в которой они успешно решаются…
Володя
09 августа 2017, 14:16
0
а в мапе?
Володя
09 августа 2017, 12:15
0
Пишите в ТП с указанием доступов к админке и ссылкой на чанк вызова.
Спасибо.
Володя
09 августа 2017, 11:20
0
возможно еще где то придется подпилить…
Володя
09 августа 2017, 10:32
0
не не… ему нужно необработанные данные. В том виде что сейчас он их никак не получит.
Володя
09 августа 2017, 10:32
0
скопируйте сниппет msProducts в сниппет с другим именем и убери обработку чанка чтобы получить сырые данные. Ведь именно это тебе нужно правильно я понял?
Володя
09 августа 2017, 09:45
0
чтобы
подгружается цены, вес, корзина и тд
используйте msProducts.
если по каким то причинам вам это недоступно то посмотрите как это реализовано в сниппете msProducts
Володя
09 августа 2017, 09:42
0
задайте пустой tpl и посмотрите какие плейсхолдеры достпны.
Если я не ошибаюсь то основная картинка в thumbs -> main
Володя
09 августа 2017, 09:23
0
переопределить вот это место еще github.com/modxcms/revolution/blob/cd3cec956341ef137dc161e3a7f555e4a4c9755c/manager/assets/modext/widgets/resource/modx.panel.resource.js#L474
возможно еще где то придется подпилить…