Николай Савин
С нами с 01 января 1970; Место в рейтинге пользователей: #2Вчера в 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
Очень рекомендую уроки по JS Владилена Минина. У него превосходный канал на Ютубе с отличным контентом и есть полноценные курсы начиная от основ JS до всевозможных фреймворков. Ну и практика конечно.
Наиболее полезно и безгеморно написать парочку плагинов своими силами и радоваться.
В чанках нужно использовать родной синтаксис фенома и вызывать плейсхолдеры через $
where должен использовать массив данных. для фенома это [ ]
так и запись проще получается без конкатенации и можно использовать многострочный ввод
Итого получаем
А если в проекте половина на JS написана — это уже другой разговор.
А попробуйте разделять код проекта на логические модули, каждый из которых находится в отдельном файле.
А попробуйте еще библиотеки и инструменты для работы подключать из npm например.
Чтобы еще раз не отвечать зачем вообще все эти node_modules если можно любую нужную библиотеку локально скачать — сразу отвечу. Чтобы через полгода одной командой npm update обновить сразу все используемые библиотеки и зависимости.
Вы же наверное следите чтобы версия MODX свежей была на тех проектах, за которые отвечаете.
Так и за другими составными частями следить нужно. А использовать NPM это самый простой способ.
И еще позволю себе совет — вместо того чтобы в каждой ветке новые длиннющие рассуждения писать — было бы полезно тратить этот час в день на самообразование. Но это лишь мое мнение, которое я просто оставлю здесь. Спасибо. Пойду займусь самообразованием ))
Во первых webpack не обязательно создает хешированные имена файлов, а вполне себе способен перезаписывать один и тот же файл — достаточно при конфигурации имя указать.
Да собственно и все. Во-вторых писать не зачем.
Собираете фронт у себя на компьютере, выгружаете на сервер. Точно так же, как если бы работал с GULP сборщиком например.
1. Добавить одну дополнительную таблицу для хранения информации о прикрепленных файлах и создать ее модель
2. Добавить связь с этой таблицей других «соседних» моделей компонента
3. Чуть-чуть доработать сохранение комментария. Ну… просто добавить методы сохранения изображений.
4. Ну и на фронте сделать по вкусу загрузчик.
За день можно управиться.
Нехорошо разметку посреди кода пихать.
Если не ошибаюсь, он здесь больше не появляется. Хотя может и читает.
По существу — у вас поди head или body не закрыт
Это запросто может быть другой компонент за отдельные деньги.
1. Ссылка Написать пользователю показывает всплывающее окно, в котором должно быть скрытое поле с id целевого пользователя
2. При отправке сообщений можно использовать ajaxForm со своим сниппетом.
3. В сниппете все очень просто. Мы имеем на входе Id пользователя.
Получаем пользователя через
Далее формируем текст сообщения и отправляем сообщение через встроенный метод $user->sendEmail($message);