Всего 125 011 комментариев

Александр Туниеков
09 апреля 2025, 15:02
0
Для перезаписи делаю так
if(!$obj = $modx->getObject($class,$search)){
    $obj = $modx->newObject($class);
}
if($obj){
    $obj->fromArray([
        'key1'=>'param1',
         'key2'=>'param2',
    ]);
    $obj->save();
}
Александр
09 апреля 2025, 14:29
0
Я делаю так:

$countidsection = $modx->getCount('DeQuestions', array('tabl_param' => $param));
        
    if ($countidsection == 0) {
    	$dequestions = $modx->newObject('DeQuestions');
    	...
    	...
    	...
    };
И бывают дубли (

Попробую предложенный вами вариант.

Или вообще думаю сделать так:
if ($countidsection == 0) {
	// если объекта нет - создать
	...
	...
	...
} else {
	// если есть совпадение - перезаписать значения
	...
	...
	...
};
Александр
09 апреля 2025, 14:28
0
Проверка на наличие аналогичного объекта организована с помощью метода getCount:

$countidsection = $modx->getCount('DeQuestions', array('tabl_param' => $param));
Александр Туниеков
09 апреля 2025, 13:19
0
Я обычно делаю
if(!$obj = $modx->getObject($class,$search)){
    $obj = $modx->newObject( ...
}
И дублирование у меня нет. Но может потому, что у меня $search по индексированным полям ^-^.
Нейросеть советует транзакции или
Также, желательно добавить уникальный индекс в базе данных на поле tabl_param, что обеспечит дополнительную защиту от дублирования на уровне СУБД.
Артур Шевченко
09 апреля 2025, 10:58
0
Наверное надо добавить проверку на наличие аналогичного объекта перед созданием.
Артур Шевченко
09 апреля 2025, 10:53
0
Посмотри в файлах выгрузки. Если там они есть, значит компонент, если нет — 1С
Андрей
08 апреля 2025, 10:29
0
Так я чтобы войти в админку итак включаю VPN, по умолчанию он у меня выключен. Включаю, вхожу, выключаю. если снова нужно войти, например на другой сайт или после обновления, снова включаю, вхожу, выключаю.
Винду я регулярно перезагружаю, это длится не день и не месяц, какое-то время я ждал, думал может кеш или что-то там еще, само пройдет, но не проходит.
Дмитрий Середюк
07 апреля 2025, 22:38
0
PHPMailer не поддерживают из коробки OAuth 2.0 (GPT в помощь).
Попробуйте отключить Security Defaults.

Но если нужно все же с OAuth 2.0 то GPT нынче могут подсказать поэтапно что да как нужно сделать, пробуйте
Дмитрий Середюк
07 апреля 2025, 22:25
0
Попробуйте влючить и вырубить VPN, после перезагрузите винду если на винде
Салават
07 апреля 2025, 19:39
0
Здравствуйте.
Вопрос такой, а можно ли сделать так, что после того, как отправится письмо поменяется статус?
К примеру: клиент оставили заявку, мы поставили статус на оплату, через день отправляется письмо о том, что они не оплатили, а через два дня отправляется письмо менеджеру и ставится статус отменен.
Павлик Мышкин
06 апреля 2025, 10:54
0
Артур, спасибо за помощь. Вчера вечером обнаружил, что ошибся в написании некоторых id элементов, а поэтому скрипт работал выборочно. До этого в упор этого не видел.
Для себя уяснил: не перепечатывай, копипасьть классы и айди.

Компонент работает отлично.
Сергей Самусев
05 апреля 2025, 16:28
0
Спасибо! Только числа. Первый вариант сработал.
Павел Романов
05 апреля 2025, 12:12
+1
Если в этом поле числа, то можно так:
...
&tvFilters=`count_all>0`
...

Если нет, то попробуйте так:
...
&includeTVs=`count_all`
&where=`{ "count_all:!=":"" }`
...

Ну или сделайте сниппет, который будет собирать ID товаров, у которых поле пустое, выдавать их в виде строки типа:…
-15,-12,-56

… и подставьте его в качестве resources:
...
&resources=`[[snippetName]]`
...
Максим
03 апреля 2025, 17:07
0
Вроде как решилось ограничением в пакетах, чтобы отдавал по 100 товаров за раз. А так точно уже не помню, но щас точно все работает))
Dmitry St.
03 апреля 2025, 15:28
0
Удалось ли решить проблему? Подобная история — не получается загрузить файл offer.xml более 2мб.
Михаил
03 апреля 2025, 12:03
0
Спасибо! За ответ… Буду искать почему так. Жаль документации нет к компоненту…
Михаил
03 апреля 2025, 12:03
0
Спасибо! За ответ… Буду искать почему так. Жаль документации нет к компоненту…
Артур Шевченко
03 апреля 2025, 11:45
0
Очевидно, что модификация не определена, поскольку modification = 0. Это означает, что либо некорректно заданы опции в модификации, либо с фронта передаются некорректные значения.
Михаил
03 апреля 2025, 10:35
0
Array
(
[razmer] => 30
[dough] => Тонкое
[modifications] => Array
(
[0] => 29
[1] => 31
[2] => 51
[3] => 52
[4] => 53
)

[modification] => 0
) вот такой массив уходит в корзину при выборе только одной опции. Я выбрал размер (это 29 модификация) и должна была отправится ещё 31 модификация(она по умолчанию выбрана), а вот почему отправляется 51,52,53 (это checkbox) которые даже не выбраны… Не понятно!