
Николай Савин
С нами с 01 января 1970; Место в рейтинге пользователей: #23 часа назад
Большое спасибо за качественное и подробное описание!
Вообще считаю, что в нынешние времена, веб-аналитика в минишопе должна быть если не из коробк...
Отправка цели "Заказ оплачен" в Яндекс Метрику, если пользователь не вернулся на сайт из п... 1
Вчера в 13:46
Ту тогда нужно смотреть лог ошибок сервера и modx. Сделай запуск скрипта создания наблюдателя из консоли сервера может там инфа об ошибке будет. Ну ес...
msImportExport 2.0 122
Вчера в 01:02
core.transport.zip определяется некоторыми антивирусами как файл содержащий троян. Возможно ативирус перенес его в карантин по тихому. Либо во время о...
где core.transport.zip ? 5
Вчера в 01:01
С большим объемом данных (магазин до 1млн товара) Марина (сравнивал на 11й версии) работает шустрее
MySQL или MariaDB 1
30 марта 2025, 09:00
В таблице msop есть поле description, допишите его в параметр msoptionsprice_window_modification_tabs и появится вкладка с текстовым полем у модификац...
Доработка плагина msOptionPrice2 1
28 марта 2025, 15:33
Думаю, что лучше официальной документации ответ никто не даст.
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 13
28 марта 2025, 13:22
Здравствуйте.
Может подскажет кто-нибудь, куда копать.
После успешной отправки формы не выводится указанный в чанке нужный мне 'successMessage', а...
[СДЕЛАЙ САМ] SendIt и MiniShop2 - заказ в 1 клик - быстро, просто и бесплатно. 61
26 марта 2025, 20:08
renderif — только вчера думал, что было бы здорово как то это реализовать, а оно само появляется в обновлении. Класс!
Новые возможности PageBlocks: улучшенная работа с блоками, таблицами, полями и мультиязычностью 3
25 марта 2025, 14:22
Добрый день!
В последнем обновлении есть «Уведомления о скором сгорании бонусов», вопрос, а не планируется еще функционал уведомления клиента о начис...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurrency 5
Но было бы намного интереснее подгрузить на каждый роут свой контроллер, с заранее определенными правами и набором возможностей, не считаешь?
Я видел ваш вопрос в магазине. Отвечу как будет возможность.
Касательно вашего вопроса здесь. Я вот ни слова не понял из вопроса.
Судя по тому что вы знаете название классов вы в курсе как это делается.
Не хочешь слушать — ради бога.
Проблема в том, что щас молодые неопытные увидят крутой компонент и без раздумья будут все подряд туда пихать.
Сидеть на jquery в 2020 тоже так себе. Попахивает.
Нет тут никакой альтернативы. Потому что подход в принципе неверный, ведущий только к плохому.
ВСЕГДА на каждый необходимый функционал пишется свой отдельный запрос. Либо на коннектор, либо на плагин. И там уже вся логика, скрытая от посторонних глаз.
Этот компонент действительно дыра в безопасности.
Доступ к, например, pdoResources позволяет получить любую информацию из любой таблицы, включая личные данные пользователей, заказы, промо-коды и любую другую коммерческую информацию. А также любые системные настройки, где часто хранятся логины-пароли к платежным системам, апишкам и т.п.
Ответственный программист конечно улыбнется и не будет использовать такой компонент, но найдутся десятки неопытных ребят, которым надо проще и быстрее. А потом начнется… MODX дырявый
Мой компонент не имеет к этому никакого отношения. Он работает ТОЛЬКО на сайте.
Неа. Именно тип. Значение двух типов менять можно. Это массив и объект. Мы запросто можем манипулировать их внутренностями.
2. Переменные имеют область видимости. Она ограничена круглыми или фигурными скобками. Читаем область видимости. Попробуй вызови в консоли element за пределами ближайшей фигурной скобки
3. Как только область видимости заканчивается — сборщик мусора уничтожает переменную и ее можно объявить заново. В цикле можно заново объявлять переменные на каждой итерации. Читаем про сборщик мусора.
4. Есть такое правило ВСЕГДА использовать const при объявлении переменной. Это связано с тем что далее нельзя будет изменить ее тип и при объявлении четко понятно какого типа переменная. Исключение — если изначально понятно что переменная ниже будет перезаписана. И это объявление тоже служит сигналом для читающего код что где то ниже переменная будет перезаписана. Таким образом const и let это еще и информация о судьбе переменной. Будет ли ниже ее изменение.
Очень рекомендую уроки по JS Владилена Минина. У него превосходный канал на Ютубе с отличным контентом и есть полноценные курсы начиная от основ JS до всевозможных фреймворков. Ну и практика конечно.
Наиболее полезно и безгеморно написать парочку плагинов своими силами и радоваться.
В чанках нужно использовать родной синтаксис фенома и вызывать плейсхолдеры через $
where должен использовать массив данных. для фенома это [ ]
так и запись проще получается без конкатенации и можно использовать многострочный ввод
Итого получаем
А если в проекте половина на JS написана — это уже другой разговор.
А попробуйте разделять код проекта на логические модули, каждый из которых находится в отдельном файле.
А попробуйте еще библиотеки и инструменты для работы подключать из npm например.
Чтобы еще раз не отвечать зачем вообще все эти node_modules если можно любую нужную библиотеку локально скачать — сразу отвечу. Чтобы через полгода одной командой npm update обновить сразу все используемые библиотеки и зависимости.
Вы же наверное следите чтобы версия MODX свежей была на тех проектах, за которые отвечаете.
Так и за другими составными частями следить нужно. А использовать NPM это самый простой способ.
И еще позволю себе совет — вместо того чтобы в каждой ветке новые длиннющие рассуждения писать — было бы полезно тратить этот час в день на самообразование. Но это лишь мое мнение, которое я просто оставлю здесь. Спасибо. Пойду займусь самообразованием ))
Во первых webpack не обязательно создает хешированные имена файлов, а вполне себе способен перезаписывать один и тот же файл — достаточно при конфигурации имя указать.
Да собственно и все. Во-вторых писать не зачем.
Собираете фронт у себя на компьютере, выгружаете на сервер. Точно так же, как если бы работал с GULP сборщиком например.