Вместо передачи токена корзины в заголовке, у меня указывается uuid корзины как часть адреса для запроса, типа /api/web/cart/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582.
Оформление заказа так же происходит с указанием uuid корзины /api/web/orders/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582, после чего заказ получает уже собственный uuid, а старая корзина удаляется.
Таким образом, авторизация вообще не нужна, заказ можно создавать и просматривать гостям — главное знать нужные uuid, которые не поддаются перебору.
Теперь становится возможно менять опции товара прямо в корзине, и если выбранный комплект опций совпадает с другим пунктом корзины, то комплекты просто суммируются.
А как эти товары потом разделить обратно, если соединил по ошибке? Разрешать делать что-то, без возможности отмены, мне кажется несовсем правильным.
Это более общее правило. try_files проверяет, есть ли $uri на диске, как физический файл, и если нет — то шлёт запрос дальше, на общий роутер.
У меня же конкретное правило — отправлять все запросы к /api сразу на api.php. Выходит, разница только в одной операции чтения диска, зато на каждый запрос.
Вместо передачи токена корзины в заголовке, у меня указывается uuid корзины как часть адреса для запроса, типа /api/web/cart/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582.
Оформление заказа так же происходит с указанием uuid корзины /api/web/orders/fc30e4d7-ed56-40ec-9f6e-69f1fcd70582, после чего заказ получает уже собственный uuid, а старая корзина удаляется.
Таким образом, авторизация вообще не нужна, заказ можно создавать и просматривать гостям — главное знать нужные uuid, которые не поддаются перебору.
А как эти товары потом разделить обратно, если соединил по ошибке? Разрешать делать что-то, без возможности отмены, мне кажется несовсем правильным.
Описание товара:
Ну и так далее. Работает быстро.
mSync теперь только заказы с сайта выгружает.
Лечится так:
1. В системных настройках, в пространство имен tinymcerte добавляем tinymcerte.convert_urls = false
2. В файле core/components/tinymcerte/model/tinymcerte/events/tinymcerteonrichtexteditorinit.class.php:70 добавляем
3. Готово
У меня же конкретное правило — отправлять все запросы к /api сразу на api.php. Выходит, разница только в одной операции чтения диска, зато на каждый запрос.
А так, лично я давно всё отправляю через Nginx:
И там уже любые маршруты с контроллерами.
1. Распаковываем его. В нем 2 папки setup и core
2. Папку setup засовываем в document_root, а core выше document_root
3. Распаковывем <path_to_core>/core/packages/core.transport.zip что процесс установки прошел быстрее и не отвалился по таймауту.
4. Запускаем /setup/
5. Скрипт установки скажет, что не может найти core. Нужно указать путь до core
6. Готово. Та же самая инфа есть тут docs.modx.com/revolution/2.x/getting-started/installation/advanced-installation
Fi1osof·Можете с этим кодом к консоли поиграться.