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

Madao
28 января 2021, 12:00
0
На моём сайте такой функционал реализован, могу скинуть свой код, но позже, пока не у компа.
Буду очень признателен за пример кода, где реализован такой функционал.
Andrew
28 января 2021, 11:52
+1
Спасибо за ваши труды парни!)
blackseabreathe
28 января 2021, 11:44
0
К сожалению, да, там ссылка на картинку. И абсолютную пробовал и локальную
Артур Шевченко
28 января 2021, 11:31
0
А вы проверяли переменные перед запуском runSnippet, в $image точно корректная строка?
blackseabreathe
28 января 2021, 11:27
0
Здравствуйте, имеете в виду компонент console? Дело в том, что я запуская эту же команду runSnippet, таким же способом только внутри сниппета и там тоже все работает, ума уже не приложу что не так.
Andrey
28 января 2021, 11:00
+1
Спасибо, ребята!
Артур Шевченко
28 января 2021, 10:51
0
А где взять старое значение? Изменение делает пользователь, сохраняет и только потом срабатывает плагин.
Наумов Алексей
28 января 2021, 10:44
+1
Нам нужно старое значение menuindex и новое.

Если новое меньше старого, то делаем sql запрос, в котором у ресурсов (только с тем же parent конечно) с menuindex от нового до старого делаем menuindex=menuindex+1.

Если старое меньше нового — наоборот.

Вот пример кода из какого-то процессора (там не ресурсы, а свои объекты).

if ($source->get('priority') < $target->get('priority')) {
            $this->modx->exec("UPDATE ".$tableName."
				SET priority = priority - 1 WHERE
					priority <= {$target->get('priority')}
					AND priority > {$source->get('priority')}
					AND priority > 0
			");

        } else {
            $this->modx->exec("UPDATE ".$tableName."
				SET priority = priority + 1 WHERE
					priority >= {$target->get('priority')}
					AND priority < {$source->get('priority')}
			");
        }
Александр Мельник
28 января 2021, 10:42
+3
спасибо, просто молодцы.
Дмитрий
28 января 2021, 02:51
0
Огромное спасибо!))))))))))))))))) Сработало!!!!!!!!!!!!!!!!!!!!!)))))))))))))))))) Как же все просто оказалось)
Артур Шевченко
28 января 2021, 00:27
0
Я проверил это код в консоли, всё сработало, может ошибка не в нём?
Андрей
27 января 2021, 22:49
1
0
а там где вываливается весь каталог, group содержит и цифры и буквы: Z2416
Да, действительно, у меня опция была числовая, потому не проверял с буквами. Сделай такой вывод, работает правильно:
{'!msProducts' | snippet : [
	'resources' => -$_modx->resource.id,
	'parents' => 35,
	'limit' => 10,
	'tpl' => 'tpl-shop-item-small',
	'innerJoin' => '{ "Options":{ "class":"msProductOption"}}',
	'groupby' => 'msProduct.id',
	'where' => ['Options.key' => 'group', 'AND:Options.value:=' => $_modx->resource.group.0]
]}
Alexey
27 января 2021, 22:26
1
+3
В общем, оказалось так. В коде формы кнопки очистки

<form method="post">
      <button type="submit" name="ms2_action" value="cart/clean" class="btn btn-danger">Очистить</button>
 </form>
нужно добавить

<form method="post" action="/">
      <button type="submit" name="ms2_action" value="cart/clean" class="btn btn-danger">Очистить</button>
 </form>

Скрипт минишопа смотрит в action формы кнопки очистки корзины, если его нет — подставляет из своих настроек. Это касается именно кнопки очистки. Если товары удалять по очереди, то тут либо плагин, либо — правка js-файла, как описывал выше.
Alexey
27 января 2021, 18:37
+1
Да, Александр, вы правы — фигня получается с файлом, я погорячился. Причем — если товары удалить поочереди, то норм срабатывает. А если кнопкой очистки, то ни в какую… странно
Alexey
27 января 2021, 18:36
+1
skrinshoter.ru/s/270121/azIIhCFR

вот тут нужно чекнуть событие msOnEmptyCart и сохранить
Дмитрий
27 января 2021, 18:26
0
Создал, ничего не поменялось)
Дмитрий
27 января 2021, 18:14
0
Предлагали еще скрипт такой, но что то тоже — безрезультатно)
miniShop2.Callbacks.Cart.clean.response.success = function () {	
  location.href = "stranica.html";
  return false;
}