Всего 125 702 комментария

Ivanov Alexandr
25 июня 2021, 21:44
0
Столкнулся с еще одно проблемой. При использовании babel на мультиязычном сайте, в другом контексте когда используешь блоки такие же как использовал в основном контексте они на сайте отображаются но вот в админке не отображаются добавленные блоки к странице.
Артем
25 июня 2021, 15:05
0
npm выполнены в формате модулей CommonJS
Далеко не все, зависит от пакета. Если пакет пишется под браузер, то он будет юзать ES6 модули, а если под сервер, то там на что фантазии хватит:
  • можно юзать CommonJS
  • можно юзать ES6 + type: module в package.json
  • можно юзать TypeScript или Babel (и даже Webpack при желании), которые будут при билде транспилировать синтаксис ES6 модулей в CommonJS (т.е. своего рода «фейковый» ES6)
В общем-то, CommonJS и настоящий ES6 работают совершенно по-разному, поэтому могу посоветовать почитать об этом, например, тут: redfin.engineering/node-modules-at-war-why-commonjs-and-es-modules-cant-get-along-9617135eeca1

работать с ними в браузере без сборщиков, обработчиков невозможно?
Неправильно, потому что пакеты для фронта никто не пишет на CommonJS модулях, они ж не на ноде работать будут, а в браузере.
rimo
25 июня 2021, 13:28
0
Кэш почистил не помогло. Картинки есть в подкатегории карточка товара, на лицевой нет фото. в modx_ms2_products в полях image и thumb стоит NULL. На почту написал.
Александр Мельник
25 июня 2021, 11:28
0
Спасибо, Артем.
Просто чисто по моей терминологии
создан для терминала и к фронту (браузеру) не имеет отношения, а условный vue-select, наоборот, не имеет отношения к серверу и должен использоваться исключительно в браузере.
означает что деление есть, просто оно не явное. Нельзя зайти на сайт npmjs.com и где то увидеть у пакета метку — это для браузера или это для сервера.

А подскажите пожалуйста еще, я правильно понимаю, что изза того что пакеты npm выполнены в формате модулей CommonJS то работать с ними в браузере без сборщиков, обработчиков невозможно? Потому что например модуль в формате ES6 вполне можно запустить в браузере и без всяких обработок, добавим атрибут type=«module» к тегу script.
Denis
25 июня 2021, 10:04
0
Я пользуюсь сторонней апишкой, там бесплатно 100 запросов в месяц. Мне хватает.
rapidapi.com/restyler/api/instagram40
Дмитрий Кондаков
25 июня 2021, 09:21
0
Проверьте наличие свободного места на сервере
Наумов Алексей
25 июня 2021, 09:15
+2
Цена товара в корзине сохраняется, поэтому да, если поменять ее на сайте — в корзине будет старая.

Думаем, как поправить…
Нужно при каждом получении корзины (это плагин на событие msOnGetStatusCart, доступен объект $cart) пробегаться по корзине, получать товары и актуализировать цену.
Примеров с тем, как в корзине что-то менять — на сайте полно)
Алексей
25 июня 2021, 07:59
0
может тогда docker контэйнер запилить для маководов? провозился наверное целый день — никак не запустил, проще было дождаться php-версии парсера
Артем
24 июня 2021, 23:06
+1
но свою функцию не выполняет и текст в консоли браузера не красит.
Конечно, потому что chalk создан для терминала, а не для консоли браузера — это две совершенно разные вещи.
У них же прям первой строкой написано:
Terminal string styling done right
Ну и вроде как это логично, ведь большинство npm пакетов (как я думаю) создаются для nodejs
Естественно, ведь npm — ничто иное, как node package manager.

Другой вопрос в том, что разные пакеты решают разные задачи. Chalk, например, создан для терминала и к фронту (браузеру) не имеет отношения, а условный vue-select, наоборот, не имеет отношения к серверу и должен использоваться исключительно в браузере.

Есть такое деление?
«Деления» нет, есть разные пакеты для разных задач. Просто гуглишь пакет и смотришь, для чего он и где (как) используется.
Андрей
24 июня 2021, 22:35
0
Данный лог к делу не относится. Отображение этого уведомления можно отключить системной настройкой log_deprecated (подробнее если интересно можно почитать тут — Dealing with deprecation notices in MODX 2.7).

Если перейти в верхнем меню (там где установщик) в раздел MIGX, то выдает Ошибка. Код 500.
500ю ошибку нужно смотреть в серверном error.log. Также не будет лишним узнать конфигурацию, версия MODX, PHP?
Павел Голубев
24 июня 2021, 17:05
0
Значит тип товара. Автозапчасти, продукты питания и т.п.
Дмитрий
24 июня 2021, 17:01
+1
Добрый день!

Нужно перезаписать ExtJS-компонент miniShop2.tree.Categories.
По шагам:

  • Создаем файлы:
    1. /core/components/extendedminishop2/elements/plugins/extended.minishop2.php
    2. /assets/components/extendedminishop2/js/mgr/category.tree.js

  • Создаем в админке плагин extendedMinishop2. Назначаем ему событие OnDocFormPrerender
  • Код плагина в админке:
    <?php
    if ($pdoTools = $modx->getService('pdoTools')) {
        $pdoTools->runSnippet('@FILE plugins/extended.minishop2.php', array_merge(
          array(
            'elementsPath' => MODX_CORE_PATH . 'components/extendedminishop2/elements/'
            ),
          $scriptProperties));
    }
  • Код в файле /core/components/extendedminishop2/elements/plugins/extended.minishop2.php
    <?php
    
    switch ($modx->event->name) {
      case 'OnDocFormPrerender':
        $modx->controller->addLastJavaScript(MODX_ASSETS_URL . 'components/extendedminishop2/js/mgr/category.tree.js');
        break;
    }
  • Код в файле /assets/components/extendedminishop2/js/mgr/category.tree.js
    Ext.override(miniShop2.tree.Categories, {
      prepareNodes: function(node) {
        var params = {};
        if (location.search) {
            var parts = location.search.substring(1).split('&');
    
            for (var i = 0; i < parts.length; i++) {
                var nv = parts[i].split('=');
                if (!nv[0]) continue;
                params[nv[0]] = nv[1] || true;
            }
        }
        var activeFile = params.file;
    
        Ext.each(node.childNodes,function (node) {
            if (node.attributes.selected || node.id == activeFile) {
                node.ui.addClass('x-tree-selected');
            }
    
            if (node.attributes.text) {
              node.ui.textNode.innerHTML = node.attributes.text;
            }
    
            this.addNodeButtons(node);
        }, this);
      }
    });
Артур Шевченко
24 июня 2021, 16:44
0
Что значит какой? Любой какой вам надо.
Павел Голубев
24 июня 2021, 16:40
0
Подскажите, какой товар продаётся с дробью?
Raimei
24 июня 2021, 15:35
0
Я конечно такой себе программист, особенно с PHP/MODX, но прекрасно понимаю всю глупость отправки подобным способом.

Учитывая отсутствие каких-либо внятных альтернатив — пойдет и такое. Мне был важен сам метод проверки с простейшим примером.
Алексей Соин
24 июня 2021, 15:32
0
гет параметрами логин и пароль отправлять эт конечно круто)))



Б — безопасность)
Павел Гвоздь
24 июня 2021, 14:56
0
Не знаю, я на маке не запускал. Возможно в этом дело. На линуксе всё работает, если поднимать по документации.