Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #6
Володя
07 декабря 2016, 21:44
1
0
Если я вас правильно понял то можно попробовать так.
Плагин на событие msopOnGetModificationById примерно так
if ($modx->event->name = 'msopOnGetModificationById') {
    
    $m = null;
    $msoptionsprice = $modx->getService('msoptionsprice');
   
    // пробуем получить модификацию по свойству
    foreach ($options as $k => $v) {
        $m = $msoptionsprice->getModificationByOptions($rid, array($k => $v));
        if ($m) {
            break;
        }
    }
    
    if ($m) {
	// получаем все свойства модификации
        $options = $modx->call('msopModificationOption', 'getOptions', array(&$modx, $m['id'], $rid));
        $modification->set('options', $options);
        $modification->set('rid', $rid);
        // сигнализируем что модификация найдена и не нужно выводить пустую модификацию по дефолту
        $modx->event->returnedValues['found'] = true;
}

далее событие msoptionsprice_product_action
$(document).on('msoptionsprice_product_action', function (e, action, form, r) {
	if (action == 'modification/get') {
	    var m = r.data.modification || {};
	    var o = r.data.options || {};
	    
	    if (m.rid) {
	        if (!msOptionsPrice.Tools.empty(o)) {
				for (key in o) {
				    if (!o.hasOwnProperty(key)) {
						continue;
					}
					var value = o[key];
					value = msOptionsPrice.Tools.formatOptionValue(key, value);
					// выставляем свойства модификации
					msOptionsPrice.Tools.setInputValue(key, value, m.rid);
				}
			}
	    }
	}
});
Володя
07 декабря 2016, 08:26
+1
Какая версия магазина у вас? Скачайте minishop2 с репозитория modstore.pro/ и попробуйте обновиться.
Володя
06 декабря 2016, 15:04
0
проверьте бд кодировку
Володя
06 декабря 2016, 13:00
+3
/** @var msOrder $order */
/** @var msPayment $payment */

if (
    $order = $this->modx->getObject('msOrder', array('id' => $orderId))
    AND
    $payment = $order->getOne('Payment')
) {
    $data = $payment->send($order);
   
    return $this->modx->error->success('', $data);
}
там должно быть поле redirect
Володя
06 декабря 2016, 13:00
+1
все доступные валюты создаются с при обновлении валют, они по умолчанию неактивны.
Переключите комбик справа и увидите их.
Володя
06 декабря 2016, 10:42
0
Опции к товару добавляются через «Множественный выбор» в таком порядке joxi.ru/KAxbe4nF4WROKm от дешевого в дорогому, соответственно выбран самый дешевый, на при сохранении порядок меняется joxi.ru/zANa0gdclbKGy2. Получается что сортировка сама меняется. Можно ли как-то выводить нужную сортировку?
попробуйте выставить настройку msoptionsprice_sort_modification_option_values в нет
Жаль, один из факторов покупки данного компонента, что есть возможность передать уникальный артикул. По факту получается это просо js манипуляция на фронтенде карточки товара.
артикула как такового нет в продукте корзины github.com/bezumkin/miniShop2/blob/53f541cb4fabe3ad32f9e0608a5abf5d25cd9a4d/core/components/minishop2/model/schema/minishop2.mysql.schema.xml#L362-L370
есть только опции, потому если вы передадите артикул как опцию он нигде не потеряется. Других вариантов я пока не вижу.
Володя
05 декабря 2016, 12:08
+1
Добавил настройку process_class, выставьте ее в нет и класс не будет обрабатываться.
Володя
05 декабря 2016, 11:33
0
на данный момент никак, в коде зашито что путь состоит из
'list', 'class', 'parent'
Володя
05 декабря 2016, 11:31
0
Добрый день.

1. На данный момент никакого механизма по передаче артикула нет. Можно передавать артикул как опцию продукта.
2. Поправил, обновитесь.
3. Да, конечно. Пример чанка gist.github.com/vgrish/46de7e0c9eb453a4ccb77064b3b78916
Володя
05 декабря 2016, 10:15
0
если у class есть поле class_key то оно заменяется его значением. Наверно у вас class_key ресурса — article
Володя
03 декабря 2016, 04:08
0
скиньте в личку доступы к сайту, быстрее будет.
Спасибо!
з.ы. можно продублировать в скайп
Володя
02 декабря 2016, 15:21
0
https на сайте есть?
Проверьте какое значение настройки modtelegram_web_hook_url, если оно неверно определилось пропишите туда правильное значние и попытайтесь установить хук заново.
Володя
02 декабря 2016, 08:44
+1
так попробуйте поставьте настройку в false
github.com/bezumkin/MobileDetect/blob/master/core/components/mobiledetect/mobiledetect.class.php#L33
Володя
02 декабря 2016, 08:43
0
хорошо что разобрались.
Володя
01 декабря 2016, 17:50
+3
{if $.session['another_key']!}
	код....
{else}
	код....
{/if}
Володя
01 декабря 2016, 17:45
0
Привет.
И какой текст ошибки?
При установке хука выводится сообщение в лог и все
github.com/vgrish/modTelegram/blob/master/core/components/modtelegram/model/modtelegram/modtelegram.class.php#L1096-L1099
Володя
29 ноября 2016, 15:55
+1
пример кода рабочий, значит что то еще не так.
Попробуйте повторить ситуацию на тестовом сайте.
Володя
29 ноября 2016, 14:03
1
0
вы выводите ресурс, значит и нужно проверять есть ли такой в наличии.
if (!$modx->getCount('modResource', array('alias'=>$alias))) {
	$modx->sendErrorPage();
}
Володя
29 ноября 2016, 14:00
+1
вы наверно не создали плагин из этой темы modx.pro/solutions/9414-modclassvar-ticketform/
о чем вам и пишет феном
Unknown accessor '$.mcv'