Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #2129 минут назад
тут пришла мысль что никто не захочет просто так делиться своим опытом за бесплатно. Можно было бы сделать статьи и кейсы платными? Типа хочешь прочит...
Предложение по развитию сообщества: Создание каталога портфолио/реализованных кейсов на MODX с демо ... 1
2 часа назад
А ты думаешь люди прям десятками уже интернет-магазины на моих решениях клепают? Это очень оптимистично ))
Постараюсь на этой неделе добить и выложит...
ms3Variants - Реализация вариантов одного товара в MiniShop3 2
4 часа назад
и вот еще какой вопрос…
в документации прописано вот так:
if (!class_exists('msDeliveryInterface')) {
require_once dirname(dirname(dirnam...
Кастомизация minishop'a 8
5 часов назад
Добрый день! Я этот компонент давно делал, и еще лет 5 не возвращался к нему… он работоспособен, все в этом плане нормально (ну по крайней мере с php ...
msProductKits - удобное управление товарами-комплектами (наборами товаров) 29
Вчера в 10:22
Вижу, спасибо.
Ошибочно решил, что если есть в документации minishop2, то в старых версиях есть и сам код не посмотрел.
Предыдущий идентификатор статуса при событии 'msOnChangeOrderStatus' 4
Вчера в 09:27
Привет, Алексей.
1. Как определяем ботов
Проверка идёт по User-Agent в ms3rv_is_bot() (helpers.php). Используется regex по типичным маркерам краул...
ms3RecentlyViewed - Недавно просмотренные товары для MiniShop3 2
17 февраля 2026, 10:07
Здравствуйте, компонент куплен, на основной домен ставится, на dev. не ставится,
Could not generate encryption key
Vehicle 04b9f528f736384b46f71324...
[msProductRemains] Компонент учёта остатков товара 179
16 февраля 2026, 19:33
Новая обновленная версия уже в магазине modstore.pro/packages/sites-themes/theme.bootstrap
[Theme.Bootstrap] Новая версия с Bootstrap 4 31
14 февраля 2026, 18:07
Добрый вечер!
Кто смог настроить оплату в этом компоненте?
вставил по инструкции в чанк tpl.msoneclick.send ссылку с параметром [[+payment...
msOneClick - «Купить в один клик» 104
14 февраля 2026, 13:53
Баг с обновлениями подтвержден в ишьюсах модуля — github.com/modmore/importX/issues/64
Решения, кроме частичного, предложенного в ветке этого ишьюса ...
Обновление содержимого полей товаров через ImportX 3
Кто-то вод сторонние сервисы подключает типа Discuss. Ты же не против подключения Disqus? Тут вот есть заметки за него: modx.pro/search?query=disqus А это 99% сторонний сервис с хранением контента на стороне и написанном не ясно на чем. Вот и здесь вполне можно думать чтобы такое полезное сделать.
Да, я через гугл и вхожу. Но бывает, заходишь с другого устройства, и приходится еще в гугл лезть, чтобы получить этот быстрый доступ. Но это уже мелочи. По большей степени я даже не с этой стороны смотрю, а со стороны единства данных. Я же тоже в какой-то момент пробовал там чат на слэке сделать, какую-то синхронизацию, и ощутил на сколько это неповоротливо для конечного ресурса. Поэтому те наработки закрыл, а дальнейшее развитие пытаюсь сделать на единой платформе. Не так красиво получается как у вас, но на мои личные потребности вполне так. Когда-нибудь это еще дизайнерски оформится и вообще красота будет.
Я вообще это не со зла все. Просто высказал мнение. Может когда-нибудь и вы решите кардинально навести порядок, привести все к единой основе и сможете более оперативно внедрять новые фишки. Я вот уже видеочаты ввожу. Совсем скоро скринкасты обучающие будут. Догоняйте ;)
К примеру, здесь видно, что у пользователей есть ресурсы, голоса, настройки уведомлений и т.п.
Можно соответственно и запрос написать для получения этих данных.
Другая важная функция: смотреть какие запросы на изменения можно слать и какие параметры в них.
Это важно, так как API мощное, позволяющее обновлять вложенные сущности (к примеру «Создать отзыв, созданный создаваемым пользователем с кучей полей, включая sudo»). Вот чтобы не могли передавать лишнее, надо за схемой следить. Если знаешь, что пользователь не сможет ничего лишнего передать в запросе, то и на сервере меньше можно заморачиваться с проверками.
Я довольно часто этим функционалом пользуюсь.
А потом вы решите еще пару полезных сервисов запустить. И что? Тоже надо отдельные аккаунты будет заводить? Ну неудобно же.
Ну да ладно, это лирика. Просто мой перфекционизм…
P.S. галочку убрал.
И фильтр «Принимает заказы» не корректно работает. Я не принимаю заказы, но все равно вывожусь с этим фильтром. И для чекбокса zIndex неверный, пробивается через хедер. joxi.ru/EA4KnbqcweBe02
Сейчас это еще не законченное решение, но все равно довольно занятная штука. Код в открытом доступе и когда будет доведен до ума, каждый сможет у себя использовать.
P.S. принять участие в тестировании может любой желающий.
Только там нативный объект $modx, в феноме вам надо использовать $_modx, вроде должно работать.
А то неудобно прыгать с гитхаба на битбакет.
P.S. Спасибо за бдительность.
P.P.S. зашортил ссылку, сейчас ОК.
Поэтому для себя давно уже опускаю разделение одних на других. В данном случае мне правильней было говорить именно про массивы.
modPlugin расширяет класс modElement. При выполнении там выполняется extract($scriptProperties, EXTR_SKIP); То есть все переданные параметры из общего массива экстрактятся в отдельные переменные. Это и позволяет в плагинах работать с переменными без объявления их, типа как в коде выше с переменной $items, которая нигде не объявлялась.
Но проблема в том, что при экспорте используется параметр EXTR_SKIP. При таком экспорте переменных создаются именно новые сущности, а не просто передается ссылки на существующие переменные. В этом и проблема.
Чтобы было понятней, вот пример:
MODX создал переменную $items=[$item1, $item2] и отправляет в ивент параметром. Ивент нашел 3 плагина и начинает по порядку их выполнять с передачей в них этой переменной.
В первый плагин переменная пришла с двумя элементами. Вы добавляете туда еще элемент $items[] = $item; и у вас тут 3 элемента. ОК, выполняется второй плагин. Как вы думаете, сколько там будет элементов в $items? Если думаете, что 3, то думаете неправильно. Для первого плагина $items — локальная переменная, никак не связанная с исходным элементов $itesm. То есть в первом плагине стало 3 элемента, а во втором (и далее) все те же 2.
Чтобы такого не произошло, надо или добавлять так: $scriptProperties['items'][] = $item; или создать свою связанную переменную $items = & $scriptProperties['items']; и работать уже с ней, как со ссылкой. Вот тогда можно выполнять несколько плагинов.
P.S. если бы они использовали EXTR_REFS вместо EXTR_SKIP, то экспортировались бы сразу ссылки и проблемы не было бы. Я даже где-то писал об этом давно (может даже тикет создавал или PR), но результата не было.
1. Вы делаете неправильно. Вот пример: forums.modx.com/thread/87107/adding-icon-to-the-resource-toolbar
Там возвращают через return $this->modx->error->success('',$items);
Посмотрите в эту сторону.
2. Не вижу у вас где именно вы объявляете переменную $items. Полагаю нигде. В этом тоже может быть засада. MODX не всегда корректно использует ссылки на объекты. В результате передается не объект, а его копия, и теряется связь с оригиналом.
Попробуйте вот так: $items = & $scriptProperties['items']; и добавляйте уже в него.
А exit в вашем случае для того, чтобы отдать контент. Плагины просто так контент не отдают, простые print и print_r в них просто записываются в логи MODX и все.