Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 110 комментариев

Владимир
Владимир
На данный момент не уверен, почему мне так показалось. Так или иначе новая версия компонента вызывает ошибку 500 на сайте, которую выдает сам MODX, так что даже не выяснить подробностей. Нигде в логах ничего не выводится, даже при debug=1
Николай Савин
Николай Савин
По правильному нужно адаптировать проект под PHP8.1 — хуже от этого точно не станет, зато у вас появится возможность использовать более современные компоненты.
Из минусов — можно потерять возможность обновлять некоторые старые компоненты (правда они особо и не обновляются)
Ну и затратно может быть.
Валерий
Валерий
Добрый вечер.
Подскажите, пожалуйста, а ваш компонент работает с msOptionsPrice2?

Я его поставил, настроил все классы\id, но при добавлении через + пишет, что товара нет в наличии, как будто не видит прописанный через msOptionsPrice2 остаток. Где-то я туплю сильно.
Владимир
Владимир
Здравствуйте!
Заявлено, что компонент работает на PHP 7.4, но по факту это не так.

А у меня сайт работает именно на 7.4 и обновить нельзя, т.к. перестанут работать некоторые старые важные компноненты.

СДЭК недавно поменял что-то в своем API, и теперь компонент версии 2.2.0-beta3 не работает, т.к. там происходит обращение к устаревшему методу:

https://api.cdek.ru/city/getListByTerm/jsonp.php?q=%D0%A1%D0%B0%D0%BD%D0%BA%D1%82-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3&name_startsWith=%D0%A1%D0%B0%D0%BD%D0%BA%D1%82-%D0%9F%D0%B5%D1%82%D0%B5%D1%80%D0%B1%D1%83%D1%80%D0%B3
{«alerts»:[{«type»:«critical»,«msg»:«Этот метод устарел, пожалуйста, ознакомьтесь с документацией к API»,«errorCode»:«deprecated»,«source»:«external-shops-integrator»}]}

В итоге если обновить компонент, он не будет работать из-за использования современных конструкций языка PHP (нужна 8.1 или выше), а если не обновлять, он не будет работать из-за использования устаревших методов API СДЭКа. Что посоветуете?
Maks
Maks
Делал похожее для второй версии, но меня интересовали только шаблоны, создаешь шаблон он при сохранении прописывает путь к файловому шаблону и создает файл в указанной папке. С шаблонами все понятно а вот зачем для чанков такое делать?
Николай Савин
Николай Савин
У msCustomer есть поле user_id, которое связывает покупателя с modUser:

// В модели msCustomer
  'aggregates' => [
      'User' => [
          'class' => 'MODX\\Revolution\\modUser',
          'local' => 'user_id',
          'foreign' => 'id',
          'cardinality' => 'one',
      ],
  ],
Режимы работы

1. Автономный режим (по умолчанию)
  • msCustomer работает независимо от modUser
  • Покупатели авторизуются через свой email/пароль
  • Подходит для магазинов без дополнительного функционала

2. Синхронизация с modUser
  • Включается настройкой ms3_customer_sync_enabled
  • При создании/обновлении modUser автоматически создаётся/обновляется msCustomer
  • Синхронизируются: email, fullname → first_name, phone, активность
  • При удалении modUser — покупатель НЕ удаляется (сохраняется история заказов), только отвязывается (user_id = 0)

3. Создание modUser при заказе
  • Настройка ms3_order_register_user_on_submit
  • При оформлении заказа создаётся системный пользователь
  • Ему можно назначить права и группу пользователей