Вчера в 02:36
Стили в fenom
Почему так работает
<!-- {include 'file:templates/main.tpl'} -->а так не работает
{include 'file:templates/main...
pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage 2
15 апреля 2026, 13:43
Несколько корзин на странице это исключительно визуализация. miniShop2 только одна корзина. Из коробки показать её можно всего двумя способами, мой па...
[MsAltCart 1.0.7] Теперь с документацией. 3
14 апреля 2026, 19:53
У стрелок есть срок жизни. Кажется месяц. Вася так сделал, потому что на тот момент гонялись за рейтингом и накручивали, лайкая старые заметки.
ms3Favorites — избранное для MODX Revolution 3 и MiniShop3 3
13 апреля 2026, 19:18
Желание имеется) Почти на всех проектах стоит Localizator, поэтому смогу оценить разницу.
Localizator 1.0.9 и 1.1.0 7
13 апреля 2026, 11:00
Делал такие «Спецификации», получилось настолько уникальное и заточенное под сайт решение, что прям и в отдельный пакет то не оформить — куча специфич...
Несколько корзин на сайте, списки желаний/покупок, возможность поделиться, списки товаров для расчет... 1
13 апреля 2026, 08:33
Добрый день
Не то что бы заброшен заброшен, просто не обновляется ввиду отсутствия необходимости.
Исходя их описанных задач, данный компонент не под...
msBaskets 5
11 апреля 2026, 17:48
Добрый день. Товары заказа можно отправить в корзину и сделать заказ и помоему был функционал создания нового заказа из другого заказа.
Женим mFilter2 и msListOrders 8
11 апреля 2026, 17:11
Добра всем!
По ходу компонент заброшен?
Удивился сам что я когда-то его тестил и писал по нему вопросы, уже не помню даже когда и где.
Вопрос тек...
[shareCart] - поделись корзиной 28
04 апреля 2026, 18:58
пробовал — ошибка та же
кстати MODX 2.7.2 — подключается нормально
кстати MODX 3.2.0 — не нормально
Не могу подключить репозиторий 3
— в этом вызове замените строчки
на:
Важно: сейчас у вас реализован функционал, при котором перехватываются значения сортировки из адресной строки. При вышеописанных изменениях он пропадет. Если его необходимо сохранить — нужно будет дописать небольшой сниппет для переключения между желаемой сортировкой и вбитой в адресной строке.
— пример актуален для сниппетов семейства pdoTools.
(параметры могут отличаться, если выводящий сниппет другой — укажите, чем вы вызываете раздел.)
Если вам нужно сортировать его по клику, то необходимо или дописать перехват сниппетом get-значений для сортировки или воспользоваться готовым решением, как mFilter2.
У вас есть как минимум 2 способа реализовать данную задачу — через систему плагинов или через расширение класса корзины.
В обоих случаях принцип работы примерно такой:
— при требуемых событиях (добавление товара, изменение количества, удаление товара и тд) для каждого конкретного товара или циклом во всей корзине получаем параметры товаров
— из полученных данных выбираем id и запрашиваем для каждого товара кастомное тв-поле со списком скидок
— если тв-поле присутствует, то в отсортированным по необходимому для скидки количеству массиве, через цикл сверяем значение с количеством товара в корзине. Так получаем соответствующую скидку по количеству для каждого товара.
— умножаем скидку на исходную цену товара
— возвращаем значение
Вы ведь убрали все лишние строчки &element=`GetUserAction` и тому подобные?
К слову, если вам нужно вернуть список ресурсов конкретного пользователя (не авторизованного), то вам нужно обращаться на страницу с гет-параметром (пример: site.ru/articles?author=1), перехватывать этот параметр и по аналогии заносить в where.
А вообще, если сниппет ничего не возвращает, то всегда можно воспользоваться параметром &showLog=`1` чтобы наглядно увидеть, на каком этапе появляется ошибка.
Приложите, пожалуйста, код вызова AjaxForm.
— в инпутах отсутствует возможность переноса строки.
По поводу переносов строк (php.net): «В отличие от синтаксиса двойных кавычек и heredoc, переменные и управляющие последовательности для специальных символов, заключенных в одинарные кавычки, не обрабатываются.»
Вы можете написать простенький сниппет проверки, который заодно и решит проблему с постоянной обработкой AjaxForm вне зависимости от значения price:
[[! название_сниппета? &check=`[[*price]]` &acceptValue=`0` &tpl=`название_чанка_который_нужно_отобразить`]]
Код:
Вы можете для проверки поместить все содержимое then в отдельный чанк и вызвать модификатор в виде :then=`[[$название_чанка]]`?
Сейчас у вас выполняется следующая логика:
— обрабатывается содержимое внутри then=``
— проверяется значение [[*price]] (если у вас minishop2, то такое значение в принципе не находит, т.к. там требуется иной плейсхолдер)
— значение [[*price]] не равно 0 (так как его в принципе нет).
— вам ничего не возвращает, так как нет условия :else=``
Вот пример того, когда вам всегда вернется какой-либо результат:
В версиях 2.2 и 2.3 введен новый функционал характеристик товара (раньше реализовывалось ручным расширением таблиц) и торговые предложения.
По личному опыту, пожалуй, сейчас надежнее ставить версию 2.1.12-pl (находится в репозитории modx), так как она стабильна и поддерживает все выпущенные к ней дополнения.
Единственный минус подобного решения — из-за специфики работы преобразования плейсхолдеров модкса, в вашем примере вначале выполняется содержимое внутри then (в любом случае, вне зависимости от значения price), а уже после — проверка условия. Что негативно сказывается на производительности, в случае, если количество товаров больше 0 и форма не нужна в принципе.
Дальше, исходя из полученных данных — простой калькулятор на js.
Чуть сложнее будет только если для каждой фотографии можно будет выбирать отдельный формат, но это опять же вполне реализуется в рамках яваскрипта.