Алексей Ерохин

Алексей Ерохин

С нами с 23 сентября 2013; Место в рейтинге пользователей: #111
Алексей Ерохин
20 декабря 2017, 13:42
+3
IF(expr1,expr2,expr3)
Если expr1 == true, возвращает expr2, иначе возвращает expr3
Алексей Ерохин
07 декабря 2017, 17:10
+1
Неправильно составлены критерии выборки в методах getObject, getCollection, getIterator, newQuery (where)
Судя по ошибке, где-то условие записано в виде SQL и его не удается распарсить, либо ошибка, либо используется какой-то оператор, который не принимается xpdo
Список принимаемых:
'=',
        '!=',
        '<',
        '<=',
        '>',
        '>=',
        '<=>',
        ' LIKE ',
        ' IS NULL',
        ' IS NOT NULL',
        ' BETWEEN ',
        ' IN ',
        ' IN(',
        ' NOT(',
        ' NOT (',
        ' NOT IN ',
        ' NOT IN(',
        ' EXISTS (',
        ' EXISTS(',
        ' NOT EXISTS (',
        ' NOT EXISTS(',
        ' COALESCE(',
        ' GREATEST(',
        ' INTERVAL(',
        ' LEAST(',
        'MATCH(',
        'MATCH (',
        'MAX(',
        'MIN(',
        'AVG('
В вашем случае вообще условие пустое
Алексей Ерохин
30 ноября 2017, 11:00
+1
Скобочка фигурная }
while($row = $s->fetch(0)) {
Посмотрите внимательнее, пожалуйста.
Алексей Ерохин
30 ноября 2017, 10:54
+1
while($row = $s->fetch(2)) {
	$response = $modx->runProcessor('resource/update', $row);
	if($response->isError()){
		print_r($response->getResponse());
		return;
	}
	$modx->error->reset();
}
Скобочки фигурные потеряли, и в fetch нужно 2 (PDO::FETCH_ASSOC) указывать, чтобы ассоциативный массив получить
Алексей Ерохин
30 ноября 2017, 10:40
+1
$resources = $modx->getChildIds(2, 10, array('context'=>'web'));
....
$q->where(array('id:IN' =>$resources));
$q->where(array('template' => 4));
Алексей Ерохин
23 ноября 2017, 13:01
+1
Пара вариантов:
1. Использовать fenom — в TV хранится JSON, перегнать в массив и foreach пройтись, индекс там есть
2. Свой сниппет — распарсить JSON, прогнать foreach считать индекс
3. Ну и самое невероятное. Почитать документацию migx и узнать оттуда, что в чанке доступен плейсходер [[+idx]]. Проверять его так
[[+idx:mod=`6`:is=`0`:then=`чанк для каждого 6`:else=`чанк для остальных`]]
mod — остаток от деления
Алексей Ерохин
23 ноября 2017, 12:56
+2
Добавьте скрытое поле в форму
<input type="hidden" name="published" value="1"/>
Возможно стоит еще добавить published в allowFields в вызове сниппета
Алексей Ерохин
03 ноября 2017, 14:12
2
0
Вызов jGrowl
$.jGrowl("Stick this!", { sticky: true });
Алексей Ерохин
01 ноября 2017, 15:15
1
0
Так сделано в modx, от контекста только ключ.

Можете попробовать в плагине на событие OnMODXInit дописывать в объект необходимые данные контекста.
$context= $modx->getObject('modContext',['key'=>$modx->context->key]);
$modx->context->_fields['name'] = $context->get('name');
$modx->contexts[$modx->context->key] = $modx->context;
Не уверен, что потом где-нибудь не всплывет бага. Лучше напишите сниппет для получения данных контекста и используйте его.

Или как вариант: записать в настройки контекста его имя и описание и получать через {$_modx->config.context_name}
Алексей Ерохин
27 октября 2017, 15:19
0
Думаю, вам поможет настройка Jevix — cfgSetAutoLinkMode (в наборах параметров сниппета Jevix)
Алексей Ерохин
04 октября 2017, 13:39
0
Да сдался вам этот индекс, у вас в $value лежит число от 1 до 45, выводите их.
Если нужен порядковый номер используйте $key=>$value

А index — это внутренний счетчик. Вы делаете continue и он не увеличивается в конце тела цикла. Поэтому ничего не выводится, у вас всегда index = 0

Пока писал вы уже заменили комментарий. Рад, что все получилось.
Алексей Ерохин
04 октября 2017, 12:06
1
+2
В документации есть примеры, странно что вы их не видите

{foreach 1..45 as $value}
	<option>{$value}</option>
{/foreach}
Алексей Ерохин
01 октября 2017, 17:54
-1
А зачем вы используете fastProcess? getChunk вызывает process или fastProcess, в зависимости, как раз. от fastMode
Алексей Ерохин
01 октября 2017, 17:50
-1
Третий параметр это fastMode
Быстрый режим обработки чанков. Все необработанные теги (условия, сниппеты и т.п.) будут вырезаны.
Алексей Ерохин
28 сентября 2017, 09:43
0
А там больше нечего менять, ресурсы привязываются из дерева справа.

Доступ к группе ресурсов настраивается в группах пользователей.
Алексей Ерохин
07 сентября 2017, 11:42
+1
$scriptProperties = $this->getProperties();
А вывод для тестов можно было сделать через return
Алексей Ерохин
06 сентября 2017, 18:25
+1
В процессоре create/update подготавливать дату
Например так делают в modx
$scriptProperties['pub_date'] = strtotime($scriptProperties['pub_date']);
Алексей Ерохин
06 сентября 2017, 16:29
0
Либо не вызывайте сниппет, если tv пустая, либо откажитесь от такой сортировки.

вроде если указать пустую сортировку &sortby=``, то выведется в том же порядке. что указаны в resources