Илья Уткин

Илья Уткин

С нами с 15 декабря 2012; Место в рейтинге пользователей: #9
Илья Уткин
26 января 2016, 15:33
1
+2
Можно вместо getImageList написать свой сниппет gropMIGXList
[[*groups:gropMIGXList]]

<?php
if (!$input) return '';
if (!$list = $modx->fromJSON($input)) return '';
$groupped = array();
foreach ($list as $item) {
  $groupped[$item['migx_id']][] = $item;
}
$output = array();
foreach ($groupped as $migx_id => $items) {
  $rows = array();
  foreach($items as $item) {
    $rows[] = $modx->getChunk('tpl.row', $row);
  }
  $output[] = $modx->getChunk('tpl.wrapper', array('rows' => implode(PHP_EOL, $rows)));
}
return implode(PHP_EOL, $output)
Илья Уткин
26 января 2016, 14:42
1
0
И в плагине должна быть доступна переменная $results, в которой будет список снятых с публикации ресурсов
$results['unpublished']
Илья Уткин
26 января 2016, 14:41
0
Возможно, поможет событие OnResourceAutoPublish
Илья Уткин
26 января 2016, 13:51
0
Кстати, очень неудобный момент. Это событие срабатывает только на контекстное меню (или, например при отмене публикации кнопкой в Tickets). Если открыть ресурс, убрать галочку «Опубликован» и сохранить, событие так же не сработает… =(
Илья Уткин
25 января 2016, 16:13
+1
А все почему? Потому что парсер MODX «работает изнутри», то есть, сначала берет [[*content]], выполняет в нём все теги, потом берет второй [[*content]], выполняет в нем все теги, только потом берет If и выводит на страницу нужный результат из полученных.
Илья Уткин
23 января 2016, 16:36
0
Скорее всего форма сброса на странице вызывается 2 раза, потому и срабатывает 2 раза.
Илья Уткин
14 января 2016, 12:50
0
Выйти из админки или проверять в анонимном режиме браузера. Или в другом вообще браузере
Илья Уткин
13 января 2016, 19:49
0
Это ветка Evolution. По ней я не смогу подсказать
Илья Уткин
12 января 2016, 15:47
+1
Еще одно «Кстати» =)
Вот описание этого функционала: https://ilyaut.ru/repost/console-2-0-4-beta-cyclic-queries-in-the-console-modx/
Илья Уткин
12 января 2016, 14:22
0
Кстати, в customExtra можно указать в настройке customextra_items_snippet имя сниппета, и появится кнопка, по нажатию на которую этот сниппет будет выполняться пошагово.

Илья Уткин
12 января 2016, 14:12
+1
У меня, кстати, есть еще код отправки писем для Sendex: https://ilyaut.ru/cheats/step-by-step-the-script-in-console/
Илья Уткин
12 января 2016, 11:23
2
+3
Установить Console и запустить в нем что-то типа такого:

<?php
// Сколько ресурсов обрабатывать за раз
$step = 1;
// Если процесс уже остановлен, сбрасываем OFFSET
if (!isset($_SESSION['Console']['completed'])) {
    $_SESSION['console_offset'] = 0;
}
$offset = isset($_SESSION['console_offset']) && $_SESSION['console_offset'] ? $_SESSION['console_offset'] : 0;
// Формируем запрос
$q = $modx->newQuery('modResource');
$total = $modx->getCount('modResource', $q);
// Пропускаем все уже обработанные объекты
$q->limit($step, $offset);
$resources = $modx->getCollection('modResource', $q);
// Обработка
foreach ($resources as $resource) {
    $modx->runProcessor('resource/update', $resource->toArray());
}
// Меняем offset
$_SESSION['console_offset'] = $offset + $step;
if ($_SESSION['console_offset'] >= $total) {
  $sucsess = 100;
  $_SESSION['Console']['completed'] = true;
} else {
  $sucsess = round($_SESSION['console_offset'] / $total, 2) * 100;
  $_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
    if ($i <= $sucsess) {
        print '=';
    } else {
        print '_';
    }
}
print "\n";
print $sucsess.'% ('.$_SESSION['console_offset'].')'."\n\n";
Илья Уткин
07 января 2016, 12:18
0
Ой, какая красота… а я даже не подозревал, что такое есть… спасибо)
Илья Уткин
03 января 2016, 01:21
-1
Ой, не говори… Ржака такая…
Илья Уткин
23 декабря 2015, 20:40
0
Не заметил вопрос про кнопку)

В настройках кнопка создания не убирается. Но можно её закомментировать. Если надо, я покажу, где.

Только если будет обновление, она опять появится.
Илья Уткин
23 декабря 2015, 18:28
0
За название вкладки отвечает запись customextra_items

А 2 это у меня в разработке было.
Илья Уткин
23 декабря 2015, 18:25
0
area — это название раздела настроек

В лексиконе можно ввести, например, item в поле поиска — будет удобнее искать нужную запись
Илья Уткин
23 декабря 2015, 15:10
0
В настройках теперь для каждого объекта свой подраздел и каждому можно указывать сколько каких полей показывать.
Только и всего.

Объекты называются так:
customExtraItem
customExtraOrder
customExtraOperation
customExtraMedia
customExtraLink