Наумов Алексей

Наумов Алексей

Был в сети 28 июля 2026, 14:21
Заказы принимаю
Мелочи:
— видеть Популярные и Лучшие статьи за: неделю/месяц/год/все время
— проработать разделы сообщества, сейчас их не видно как-то, и структурированы они на мой взгляд не очень… может их вывести справа (туда, где сейчас вкладки Комментарии, Заметки, Работа.
Нам нужно старое значение 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')}
			");
        }
Но уж если на то пошло, я бы в migx хранил с целью промежуточного кеширование, если это конечно имеет смысл для вашей задачи.

Если кеширование не нужно — то сохранять данные в TV странное решение будет… проще их получать и сразу обрабатывать.
Я так бегло почитал про ошибку, и вижу среди причин ее появления:

Картинки, что представлены на сайте, не имеют прописанных параметров ширины и высоты.
Дизайн сайта имеет интерактивные элементы, которые подгружаются и показываются при определённых событиях, к примеру полной загрузке страницы, наведении курсора мышки и т.д.
Вставки блоков со сторонних ресурсов. Среди таких блоков могут быть iframe, рекламные и т.д.
И некоторые другие специфические причины.
отсюда вывод — нужно сайт смотреть, а не то, на чем он сделан.
Да были где-то здесь эксперименты…
суть сводилась:
— если просто подключение простых чанков и кешируемых сниппетов — то парсер MODX чуть быстрее
— если есть всякие if, модификаторы (is и т.п.), то феном начинает выигрывать.

Для меня в любом случае важнее удобство Fenom, чем миллисекунды скорости.
Я так понимаю, что речь идет о том, чтобы показать комплекты, в которые входит товар?
Здесь история в том, что по идее нужно вызывать msProducts, который отобразит товары так, как нужно (с подключением изображений, параметров и т.д.).
Я для этих случаев просто получал ids товаров, а после передавал их в msProducts:
{set $ids = $_modx->runSnippet('!msProductKits', ['mode' => 'product','ids' => 1])}
{if $ids}
{'!msProducts' | snippet : [
    'parents' => 0,
    'resources' => $ids,
    'limit' => 0,
]}
{/if}
Совсем недавно сталкивался, тоже самое хотел сделать, на событии msOnBeforeAddToCart задать товару в корзине name.

Не получилось, сразу в нескольких местах выскочили проблемы, ни сниппет msCart, ни чанки не готовы к такому повороту событий) все равно во многих местах тащится родной pagetitle от товара… я в итоге забил, и вместо вывода pagetitle в заказе вызываю каждый раз свой сниппет, который динамически формирует название товара.

А вообще идея здравая: сделать возможность подменить name у товара в корзине.