Всего 123 610 комментариев

Алексей
17 сентября 2023, 09:59
0
Я так понимаю здесь не перезаписывается почему-то обратно
$cart->set($tmp); //Записываем данные в корзину
 break;
Потому что если подобным сниппетом просто на экран выводить, то цена обновляется и в ту и в другую сторону.
Артур Шевченко
16 сентября 2023, 23:22
0
По коду лично я ошибок не вижу, поэтому на твоём месте стал бы логгировать процессы в плагине.
Алексей Смирнов
16 сентября 2023, 23:16
+1
думаю, тут можно (лучше) воспользоваться не tvFilters, а where. Описание как работать и делать выборки для мульти тв описано тут: modx.pro/solutions/23005
Артур Шевченко
16 сентября 2023, 22:33
0
Ты после уменьшения тоже страницу перезагружаешь и ничего не меняется?
Артур Шевченко
16 сентября 2023, 14:06
0
Ну напиши сниппет который составит нужную строку и запишет её в плейсхолдер и этот плейсхолдер укажи в качестве значения параметра tvFilters
Nail
16 сентября 2023, 11:36
0
он покажет товары у которых *Filter_a = *Req_a и *Filter_a = *Req_b
Николай Савин
16 сентября 2023, 11:18
0
Ну так, а чего ты голову морочишь, если знаешь про PHP 7.4. Это единственная стабильно работающая версия для MODX2. Переключи на нее и не будет проблем.
Артур Шевченко
16 сентября 2023, 11:11
0
Ну перебёрешь ты массив, сравнишь значения и что потом?
Артур Шевченко
16 сентября 2023, 10:59
1
+1
Зайти в БД и отключить плагин SendIt. Или там же в БД в коде плагина третий параметр заменить на 0. Спасибо за багрепорт, на 8.2 не тестировал в следующем обновлении исправлю.
Александр
16 сентября 2023, 10:50
0
Когда эта версия появится — поставлю. В доках написано, что минимальная версия PHP 7.4
В общем в любом случае, хотелось бы узнать, каким образом я могу вернуть сайт в рабочее состояние
Николай Савин
16 сентября 2023, 06:45
0
Поставь PHP 8.3, зачем старьем пользуешься
Александр
15 сентября 2023, 23:23
0
Установил на сайт, и все, 500я ошибка.
В логах:
PHP Fatal error:  Uncaught TypeError: setcookie(): Argument #3 ($expires_or_options) must be of type array|int, string given in test/public_html/core/cache/includes/elements/modplugin/14.include.cache.php:24\nStack trace:\n#0 test/public_html/core/cache/includes/elements/modplugin/14.include.cache.php(24): setcookie('SendIt', '{"sitoken":"d30...', '', '/')\n#1 test/public_html/core/model/modx/modscript.class.php(76): include('/home/c/c4endlk...')\n#2 test/public_html/core/model/modx/modx.class.php(1674): modScript->process(NULL)\n#3 test/public_html/core/model/modx/modmanagerrequest.class.php(120): modX->invokeEvent('OnHandleRequest')\n#4 test/public_html/manager/index.php(59): modManagerRequest->handleRequest()\n#5 {main}\n  thrown in test/public_html/core/cache/includes/elements/modplugin/14.include.cache.php on line 24
Версия PHP 8.2, modx revo последний, что делать не пойму
Как раз «сайт сильно сломался»)
Артур Шевченко
15 сентября 2023, 21:55
0
Проверить соответствует ли содержимое этого файла оригиналу, если да, поменять хостинг.
Артур Шевченко
15 сентября 2023, 20:42
0
Есть компонент msSalePrice он умеет в оптовые цены, но скидки на весь заказ делать скидки он не умеет
Алексей
15 сентября 2023, 18:19
0
А оптовую цену нельзя товару назначить я так понял, чтобы при достижении 10 товаров в корзине, применялась именно оптовая цена. Оптовая и розничная цена высчитываются не в процентном соотношении и у каждого товара они разные должны быть.
Николай Савин
15 сентября 2023, 17:44
+2
Для того чтобы поблагодарить участника сообщества, вы можете пополнить наш фонд на любую удобную сумму, хоть 100 рублей.
Все реквизиты есть на этой странице

P.S. Думаю Алексей не будет против.
Константин
15 сентября 2023, 15:40
0
Спасибо большое, все работает, как могу отблагодарить?
Valera
15 сентября 2023, 14:06
0
Походу всё работает — сейчас проверил цифры поменялись в заданном диапазоне
В сниппете setRandom вижу параметр time.
Я правильно понимаю, что это время в секундах, в течение которого обновляются цифры?
Изначально стояло 8000 — что примерно 2 дня и поэтому 2 дня цифры были старыми
<?php
function saveOpt($modx, $opt, $val){
    $d = explode(',',$val);
    $value = rand($d[0], $d[1]);
    
    $Setting = $modx->getObject('modSystemSetting', $opt);
    $Setting->set('value', $value);
    $Setting->save();
    return $value;
}
 
$time = 0;
$r_time = (int)$modx->getOption('r_time');
$r_1= (int)$modx->getOption('r1');
 
  if(time() > $r_time || (int)$r_1 == 0 || $r_time == 0){
    $t = time();
    $r1 = $modx->resource->getTVvalue(36);
    $r2 = $modx->resource->getTVvalue(38);
    $r3 = $modx->resource->getTVvalue(40);
    $r4 = $modx->resource->getTVvalue(42);
    $r5 = $modx->resource->getTVvalue(44);
    
    saveOpt($modx, 'r1', $r1);
    saveOpt($modx, 'r2', $r2);
    saveOpt($modx, 'r3', $r3);
    saveOpt($modx, 'r4', $r4);
    saveOpt($modx, 'r5', $r5);
     $Setting = $modx->getObject('modSystemSetting', 'r_time');
    $Setting->set('value', time()+ $time);
    $Setting->save();
 
    $modx->cacheManager->refresh(array('system_settings' => array()));
 
 
}
$pls['r1'] = $modx->getOption('r1');
$pls['r2'] = $modx->getOption('r2');
$pls['r3'] = $modx->getOption('r3');
$pls['r4'] = $modx->getOption('r4');
$pls['r5'] = $modx->getOption('r5');
 
$modx->setPlaceholders($pls);