Nikita

Nikita

С нами с 18 февраля 2013; Место в рейтинге пользователей: #381
Alexey
18 мая 2022, 09:26
1
+1
Привет! Попробуй в ссылке на оплату поменять money.yandex.ru на yoomoney.ru — тыц

Если установлен компонент mspyacassa, то есть настройка mspyacassa_payment_url
Дмитрий
14 апреля 2021, 14:56
1
0
Может быть кому поможет. Я просто поменял адреса хоста в системных настройках MODX (шестерёнка в правом верхнем углу, где иконка профиля). В техподдержке Юкассы сказали, что это сработало и касса не должна сломаться после полной смены хостов.
Замены в настройках:
money.yandex.ru/eshop.xml на yoomoney.ru/eshop.xml
penelope.yamoney.ru:443/webservice/mws/api/ на shop.yookassa.ru:443/webservice/mws/api/

Сергей
16 февраля 2019, 19:18
1
0
Благодарю, но такой вариант не подошёл бы наверно, так как будет много запросов к базе, вкладки и товары должны автоматом же формироваться и их может быть n-е количество, но нашёл решение с билдером запросов, много времени потратил правда, в документации неточность была.

Вот решение моей задачи если кому-то пригодится:

$json = $modx->runSnippet('pdoResources', array(
'parents'   => $parent_id,
'select' => array(
        'modResource' => $select,
        'msProductData' => 'price'),
'class' => 'modResource',
    'leftJoin' => array(
        'msProductData' => array(
        'class' => 'msProductData',
        'on' => 'msProductData.id = modResource.id')
),
'includeTVs'=> $includeTVs,
'return'    => 'json'
));
Павел Гвоздь
07 ноября 2018, 20:54
1
+1
условие where перестает работать.
Ещё бы!
'where'=>'{"id:!=":"[[*id]]"}'
Что это за колдунство?) Запишите нормально, по-человечески, массивом!
Вот тоже самое:
'where' => [
    'id:!=' => $_modx->resource['id'],
],
Алекс Назаренко
09 августа 2018, 15:31
1
0
<a href="#" 
 data-sort="ms|price:desc" 
 data-dir="[[+mse2_sort:is=`ms|price:desc`:where=`{'Data.price:>=':2000}`]]" 
 class="sort__link">
<span class="link-span">Дорогие от 2000 р.</span>
</a>
Konstantin B
21 июня 2018, 23:13
2
0
В общем и целом решение нашел, странно что в документации написано объект $order, меня честно говоря это ввело в заблуждение.

Оставлю это тут, вдруг кому-то пригодится!

Как оказалось достаточно такой конструкции:

<?php
switch ($modx->event->name) {
    case 'msOnCreateOrder':
        
	    if($newStatus == true)
	    {
            $msOrder->set("status","5");
            $msOrder->save();
        }
	break;
}
PG
PG
10 мая 2018, 10:55
1
0
так должно работать
if ($user = $modx->getObject('modUser', 15)) {
	$modx->user = $user;
	$modx->user->addSessionContext('web');
	$modx->getUser('web', true);
}
Павел Гвоздь
16 марта 2018, 13:56
2
+1
Это очень просто! С помощью Fenom:
@INLINE http://site.ru/{$link}
Андрей
02 февраля 2018, 14:35
1
0
Можно и без плагина прямо в шаблоне проверять:

{if $_modx->user.id > 0 && $_modx->isMember('optGroup')}
	{$optPrice}
{else}
	{$price}
{/if}

Пример плагина для минишопа:
if ($modx->event->name == 'msOnBeforeAddToCart' && $modx->user->isAuthenticated() && $modx->user->isMember('optGroup')) {

	$optprice = $product->get('optprice');

	if (!empty($optprice)) {
		$product->set('price', $optprice);
	}
}

p.s. Поле optprice добавлял через msFieldsManager, так быстрей =)
Николай Савин
20 ноября 2017, 23:27
1
0
Да конечно можно, вот собственно готовый пример
case 'msOnChangeOrderStatus':
        if($status == 2){
            $orderData = array();
            $orderData['externalId'] = $order->id;
            $orderData['status'] = 'complete';
            $response = $modRetailCrm->request->ordersEdit($orderData, $by = 'externalId', $site); 
        }
        
        break;
Дописываем плагин modRetailCRM, добавляя событие отслеживания статусов заказа msOnChangeOrderStatus
Вам нужно указать id заказа для того чтобы найти нужный заказ в CRM и символьный код статуса в CRM.
Статусы могут быть разные, это все индивидуально для вашей CRM, список статусов и их символьные коды можно посмотреть в разделе Администрирование — Статусы.
В данном примере я указал соотношение для статуса оплачено в Minishop — статус Выполнен в CRM