Сергей Шлоков

Сергей Шлоков

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
Если вы используете фильтры, то и искать нужно «Фильтры MODX». Сокращу время на поиски — вот официальная документация.
А ней видим, что если нужно проверять по id, то фильтр должен быть по тегу [[+modx.user.id]]. А если проверка по группе, то так — [[+modx.user.id:memberof=`Administrator`]]
Вот оптимизированный вариант сниппета. Если у вас чанк кешируемый, то MODX не будет каждый раз в базу лезть. Так будет быстрее и так работает парсер.
$exclude = explode(',',$exclode);
$output = '';
if (!in_array(intval($id),$exclude)) {
    if (isset($modx->elementCache['[[$like]]'])) {
        $output = $modx->elementCache['[[$like]]'];
    } else {
        $output = $modx->elementCache['[[$like]]'] = $modx->getChunk('like');
    }
}
return $output;
Сделайте лучше через сниппет. И проще и быстрее будет работать.
[[showChunk? id=`[[*id]]` &exclude=`2,6`]]
А сам сниппет showChunk такой
<?php
$exclude = explode(',',$exclode);
if (!in_array(intval($id),$exclude)) return $modx->getChunk('$like') ;
return '';
Подставляйте в параметр exclude ненужные айдишки через запятую. Не проверял, но должно работать.
В новой версии 1.0.5 — добавил возможность парсить сниппеты и чанки (не редактировать, а именно парсить). Это может быть немного опасно, так как сниппеты могут грузить скрипты, которые могут поломать админку. Поэтому изначально эта возможность закомментирована. Но если сниппеты несложные — просто вывод информации, то почему бы и не посмотреть, что он выводит с разными параметрами. Такой маленький тест.
С чанками опасности поломать админку нет (если в них нет вызова сниппетов), но обычно они завязаны на css, которого в админке нет, поэтому отображение может быть кривым. Но опять же, почему бы и нет.
Для этого действия есть свое сочетание клавиш Alt+Enter.
Тогда могу предложить такой вариант — создай свой js и подключай его в шаблоне для тикета. А в js просто повесь событие на загрузку. Типа такого
$(document).on('click', '#ticket-files-select', function(e) {
	if ($('div.ticket-file-image-wrapper').length == 3) {
		alert('Больше трех картинок низя!');
		return false;
	}
});
Не тестировал, но идея должна быть понятна.
П.С. Это для стандартных шаблонов Tickets.
Теперь получается, что исчезает кусок формы (id=«cbf») и происходит это вне зависимости правильно заполнена форма или с ошибками.

Как раз закрывается именно форма. А нужно закрывать окно.
$(document).on('af_complete', function(event, response) {
    if (response.success) {
	// 1. Просто закрыть
        $('#callBack').hide();
	// 2. Или с анимацией
        $('#callBack').fadeOut();
    }
 });