Іван Клімчук
С нами с 16 декабря 2012; Место в рейтинге пользователей: #13Вчера в 15:33
Спасибо за обратную связь — возьмем в работу
MiniShop3: итоги февраля и версия 1.6.0 24
22 апреля 2026, 06:21
Мне лично документация вообще не понятна :-). Все просто в доке, но вот вопрос, что за канал создается через ваш бот? Это наш канал или ваш? В доке ма...
[MAX bot] отправляем сообщение в бот MAX на изи 8
22 апреля 2026, 00:22
Оказалось, что Localizator конфликтовал с плагином prettyTags. Ошибки в журнале с этим не связаны.
Localizator 1.0.9 и 1.1.0 8
21 апреля 2026, 19:25
Всё же разобрался.
Браузеры игнорируют CSS-файлы, если сервер отправляет неправильный MIME-тип. Например, вместо text/css может возвращаться text/ht...
pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage 3
18 апреля 2026, 15:34
открыл, не знаю, почему он закрыт оказался) но, стоит учесть, что код там очень старый
msProductKits - удобное управление товарами-комплектами (наборами товаров) 31
15 апреля 2026, 13:43
Несколько корзин на странице это исключительно визуализация. miniShop2 только одна корзина. Из коробки показать её можно всего двумя способами, мой па...
[MsAltCart 1.0.7] Теперь с документацией. 3
14 апреля 2026, 19:53
У стрелок есть срок жизни. Кажется месяц. Вася так сделал, потому что на тот момент гонялись за рейтингом и накручивали, лайкая старые заметки.
ms3Favorites — избранное для MODX Revolution 3 и MiniShop3 3
13 апреля 2026, 11:00
Делал такие «Спецификации», получилось настолько уникальное и заточенное под сайт решение, что прям и в отдельный пакет то не оформить — куча специфич...
Несколько корзин на сайте, списки желаний/покупок, возможность поделиться, списки товаров для расчет... 1
За поздравление спасибо.
По теме обновок, то да, после всех мерджей будет новая версия, скорее всего уже 2.6.0, так как кроме исправлений багов добавили и пару новых небольших, но фич.
Второ момент, зачем тут такие странные манипуляции?
Лучше использовать getIterator, на большом количестве ресурсов памянть не закончится, это раз. Два раза вы делаете проход по массиву, абсолютно бесполезно. Вы же и так перебираете ресурсы, почему не сделать вот так?
Большая вложенность кода в {} ухудшает читабельность кода, поэтому идеальный код — это прямой без ветвлений или стараться их избегать где возможно. Например, вместо проверки, есть ли значение в переменной и выполнения кода внутри if, можно проверить, что если значение пустое, то пропустить остальной код и перейти на следующую итерацию.
Про return из сниппета вам уже сказали, лучше собирать весь вывод в буфер в виде массива или строки и потом уже выводить одним return. Это даст возможность в дальнейшем, когда условия задачи изменятся, еще раз пройтись по массиву или строку и применить дополнительные действия над результатом.
Простой пример, у вас сниппет в зависимости от параметра должен выдавать или строку на экран или json в случае ajax-запроса. В таком случае можно сделать так:
И последнее, несмотря на то, что параметры в снипете уже присутствуют в виде переменных, лучше получать их значения через API MODX. Это в дальнейшем даст возможность использовать Property Sets (предустановленные параметры) и значения по умолчанию.
Создал группу, куда поместил этих пользователей. Создал свою политику доступа (вернее две). Одну унаследовал от политики, которая идет с minishop2 (там чуть-чуть подтюнил один момент, чтобы нельзя было удалять заказ. Такой настройки нет в minishop2 сейчас, пришлось подправить исходники, не забыть бы PR Василию выслать), вторую от контент менеджера и поснимал галки со всех действий, которые мне были нужны (в частности запретил изменять как либо все ресурсы — требование заказчика). Затем эти политики доступа привязал в группе к контексту mgr. С правами на этом все, но осталась проблема, что нужно было после входа сразу отправлять пользователя в заказы минишопа, стандартных средств в MODX это сделать я не нашел, но решение есть. Создается панель (dashboard), которая назначается группе и пользователь попадает после входа на эту панель. А в самой панели я создал виджет, которые просто редиректит на заказы минишопа. В итоге, после входа пользователь сразу перенаправляется на нужную страницу.
В общем, коротко не получилось, но я предупреждал, что быстрого и короткого решения нет :)
На следующей неделе, если получится, запишу урок на эту тему.
Вот пример моей формы с фильтрами и кнопкой.