Владимир

Владимир

С нами с 25 сентября 2016; Место в рейтинге пользователей: #500
Андрей Шевяков
16 сентября 2020, 15:46
1
0
Поделитесь пожалуйста потом готовым решением, по задаче «Изменение опции размера в корзине miniShop2». Интересно посмотреть, как у вас получилось.
Алексей П
04 ноября 2017, 23:57
7
+3
Немного доработанная версия. Чтобы не запускать скрипт по несколько раз. Оставлю здесь для себя. Может еще кому-то пригодится.
Перед использованием нужно заменить параметр parent.

<?php
$step = 10;
$offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0;
$modx->setLogLevel(MODX_LOG_LEVEL_ERROR);
$q = $modx->newQuery('modResource', array('parent' => 6007));
$total = $modx->getCount("modResource", $q);
$q->limit($step,$offset);
foreach($modx->getIterator("modResource", $q) as $doc){
	$doc->remove();
}

$_SESSION['galgenoffset'] = $offset + $step;
if ($_SESSION['galgenoffset'] >= $total) {
  $sucsess = 100;
  $_SESSION['Console']['completed'] = true;
  unset($_SESSION['galgenoffset']);
} else {
  $sucsess = round($_SESSION['galgenoffset'] / $total, 2) * 100;
  $_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
    if ($i <= $sucsess) {
        print '=';
    } else {
        print '_';
    }
}
$current = $_SESSION['galgenoffset'] ?
           $_SESSION['galgenoffset'] :
           ($sucsess == 100 ? $total : 0);
print "\n";
print $sucsess.'% ('.$current.')'."\n\n";
Михаил
12 октября 2017, 10:17
2
+1
Как сделал я.

В чанк tpl.Office.auth.login добавил (ссылку на ресурс поменять):
<div class="col-md-8">
 <label for="office-auth-register-rules" class="col-md-3 control-label">
<input type="checkbox" name="rules" class="form-control" id="office-register-form-rules" value="yes" style="width: auto;"/> Я <a href="ссылка на ресурс" target="blank">согласен на обработку</a> персональных данных.</label>
</div>
Создал плагин с именем chekPersDannie (имя не важно), с таким кодом:
<?php
if ($modx->context->key != 'mgr') {
    switch ($modx->event->name) {
        case 'OnBeforeUserFormSave':
            if (empty($_POST['rules'])) {
                $modx->event->output('Для продолжения регистрации Вы должны дать разрешение на обработку Ваших персональных данных');
            }            
            break;
    }
}
и у этого плагина, во вкладке Системные события поставить галку на событие OnBeforeUserFormSave.

Проверяем, должно работать.