Евгений Ц.

Евгений Ц.

С нами с 24 сентября 2019; Место в рейтинге пользователей: #545
Евгений Ц.
26 мая 2024, 16:20
0
Вызывать надо некэшированным [[!Sendex…
Евгений Ц.
13 мая 2024, 23:47
0
Искал ответ примерно на тот же вопрос. Мне нужно было сделать file.php который будет выводить определенный ресурс из modx. Вот, может, кому то пригодится ссылка
Евгений Ц.
15 февраля 2023, 02:15
0
Смотря какой характер спама, я для себя написал валидатор formit, который отсеивает по заданному списку слов, неплохо помогает.
Евгений Ц.
14 февраля 2023, 16:28
0
Может, кому пригодится, поле в таблицу можно добавить в системной настройке ms2_category_grid_fields
Евгений Ц.
19 января 2023, 12:25
0
Думал об этом, но в таком случае я ожидал ошибку «permission_denied_processor».
Евгений Ц.
19 января 2023, 03:27
0
В общем, решение своей задачи нашел здесь docs.modx.com/current/en/building-sites/client-proofing/security/troubleshooting-security/resetting-a-user-password-manually но вопрос с процессором все же остаётся открытым.
Евгений Ц.
10 мая 2022, 17:47
0
Можно написать свой сниппет и отправлять им, как я изначально и поступил.
Евгений Ц.
20 апреля 2022, 13:13
0
Спасибо!
Евгений Ц.
15 марта 2022, 15:53
0
Спасибо. Как раз в этом направлении я и двигаюсь. Сохраняю id конкретной нужной мне сессии в БД, а потом смотрю access. Я просто думал, что может быть «из коробки» какое-то решение есть.
Евгений Ц.
09 марта 2021, 01:48
+1
Так как url более не доступен, то приведу код Руслана с небольшим дополнением: товары, добавленные в корзину до входа, добавляются в сохранённую корзину.
switch ($modx->event->name) {
    case 'msOnAddToCart':
    case 'msOnChangeInCart':
    case 'msOnEmptyCart':
    case 'msOnRemoveFromCart':
        if ($user = $modx->getAuthenticatedUser('web') and $ms2 = $modx->getService('minishop2')) {
            $ms2->initialize($modx->context->key);
            $profile = $user->getOne('Profile');
            $extended = $profile->get('extended');
            $extended['ms2cart'] = $ms2->cart->get();
            $profile->set('extended', $extended);
            $profile->save();
        }
        break;
        
    case 'OnWebPageInit':
    case 'OnWebLogin':
        if ( $user = $modx->getAuthenticatedUser('web') and  $ms2 = $modx->getService('minishop2')) {
            $ms2->initialize($modx->context->key);
            $profile = $user->getOne('Profile');
            $extended = $profile->get('extended');
            if ( isset($extended['ms2cart']) && !empty($extended['ms2cart']) ) {
                $mycart = array_merge($extended['ms2cart'], $ms2->cart->get());
                $ms2->cart->set($mycart);
            }
        }
        break;
}
Евгений Ц.
08 августа 2020, 00:14
+1
Спасибо. Я сначала думал, что это из-за моего плагина, ломал голову, как такое происходит, но потом оно появилось там, где плагина не было. Надо будет его отловить и хотя бы в css display: none прописать по возможности.
Евгений Ц.
23 июля 2020, 09:58
0
Да уж, наверное, не стоит допоздна за компом засиживаться :) Спасибо!
Евгений Ц.
23 июля 2020, 02:46
1
0
Костыльный, но всё же вариант — писать рейтинг в TV и потом по этому TV фильтровать. Создаем TV, например product_rating и в файл assets/components/simplerating/action.php после
$simpleRating->save();
вставляем
$res = $modx->getObject('modResource',$id);
$res->setTVValue('product_rating',$ratingNewValue);
Правда при таком варианте в случае обновления компонента код надо будет вставлять заново.
Евгений Ц.
23 июля 2020, 01:56
0
Вместо прямоугольных скобок используйте фигурные:
[[!pdoPage?
                &element=`getImageList`
                &limit=`20`
                &tvname=`our_clients`
                &reverse=`1`
                &tpl=`@CODE:
                <a class="item {{!+idx:is=`1`:then=`index_1`}}" href="[[+slide]]">
                    <img src="[[+slide]]">
                </a>
                `
               ........
               ]]
Евгений Ц.
16 июня 2020, 17:18
1
+1
Столкнулся с аналогичной ситуацией. Проблема была в кэшируемом вызове сниппета. Проверьте наличие восклицательного знака [[!mFilter2…
Евгений Ц.
26 апреля 2020, 17:34
0
Я сделал через TV, плагин на событие msOnCreateOrder
<?php
$products = $msOrder->getMany('Products');
foreach ($products as $item) {
    $product = $item->getOne('Product');
    $product_id = $product->id;
    $product_qty = $item->count;
    $res = $modx->getObject('modResource',$product_id);
    $count = $res->getTVValue('ProductSalesQty');
    $count = $count + $product_qty;
    $res->setTVValue('ProductSalesQty', $count);
}
Евгений Ц.
12 ноября 2019, 01:02
0
В общем, наставил костылей и все заработало. Если кто-то знает, как это по нормальному сделать — напишите.
Евгений Ц.
24 сентября 2019, 14:07
0
Тоже об этом подумал, хотел к 2-м событиям привязать, но восклицательный знак всё же проще.
Евгений Ц.
24 сентября 2019, 13:59
0
Спасибо! Я думал "!" только к сниппетам применим. Я еще одно решение нашёл — привязал плагин к событию OnLoadWebPageCache.