Всего 125 096 комментариев

kudesia
27 мая 2025, 20:27
0
Читали и вставили значение соответственно описанию. Кроме того, в это поле нельзя ввести ничего кроме цифр.
А в файле core/components/ms_cdek2/services/custom/MsCdek2.php
'sender_country_code' => $this->modx->getOption('ms_cdek2_sender_country', null, 'RU', true),

            'size_multiplier' => $this->modx->getOption('ms_cdek2_size_multiplier', null, 1, true),
            'weight_multiplier' => $this->modx->getOption('ms_cdek2_weight_multiplier', null, 1000, true),

            'defaultSize' => $this->modx->getOption('ms_cdek2_default_size', null, '1x1x1'),
Может, в этом дело?
Виталий
27 мая 2025, 15:45
0
Решение: В контроль доступа был добавлен контекст web с правами «Load Only».
При этом содержимое контекста не появилось в списке
Александр Туниеков
27 мая 2025, 15:34
0
Мда… не думал, что тебя так критика зацепит.
У Василия в минишопе обновления версии js скриптов через гет-параметы встроенно. Меняется версия минишоп — меняется гет-параметр. Я так же делаю. Тебе нужно подумать, чтобы при обновлении js они автоматически в браузере обновлялись. А то сделаешь ты обновление mscdek через полгода и на всех сайтах у их постоянных клиентов mscdek отвалится и владельцы сайтов потеряют клиентов. Веская причина?
Искал в чем причина ошибки 4 часа. ctrl+shift+r я всегда делаю и стем что оно не срабатывает первый раз столкнулся. Так что даже не подозревал, что скрипты старые в браузере. Пришлось дебажить и изучать mscdek и sendit. Как они работают. В итоге разобрался, что header x-sipreset не верный, нашел где он отправляется, а потом уже проверил что за js в установочном пакете.
4 часа дебажить такую ошибку не так уж и долго :-).
Надеюсь, что ты все-таки воспримешь это от меня как фидбек :-)
Александр Туниеков
27 мая 2025, 14:58
0
Ты действительно потратил 4 часа на то, чтобы понять, что браузер берёт файлы из кэша
да потратил. Бывают вот такие мутные приложения
Александр Туниеков
27 мая 2025, 14:57
0
добавь get-параметры к пути
к каким путям? где это прописывать? Я в твоих di контейнерах с трудом разбираюсь. Если было как обычно сделано я бы не спрашивал.
Александр Туниеков
27 мая 2025, 14:56
0
добавь get-параметры к пути
к каким путям? где это прописывать? Ты нормально приложение не можешь сделать?
Наумов Алексей
27 мая 2025, 10:40
0
Это нормальное поведение, оно связано с тем, как работает MODX и кеширование в нем.

Если было бы так: то, допустим у нас есть товар и мы сбросим только кеш этого товара при редактировании. Но, если на главной странице выводится список товаров, куда попадает наш, то ничего не изменится, т.к. кеш главной страницы остался. Поэтому удаляется кеш сайта.

Однако это поведение можно изменить, в системных настройках много опций, отвечающих за работу кеша.
Артур Шевченко
27 мая 2025, 09:58
0
Я проверил на тестовом сайте, ошибки нет. Если размеров нет в корзине, если их нет в товаре, то берётся дефолтное значение из настроек.
Артур Шевченко
27 мая 2025, 09:30
0
но если использовать модули по доставке, он же тоже будет принимать это на 1.200 кг
Речь о каком-то конкретном модуле или ты просто сам так решил? Обычно, если речь идёт о единицах измерения, в модулях предусматривают модификаторы, как раз для такого случая.
Артур Шевченко
26 мая 2025, 23:24
0
Ты действительно потратил 4 часа на то, чтобы понять, что браузер берёт файлы из кэша? Это феерично. А по поводу механизма обновления, он давно существует: добавь get-параметры к пути и браузер будет думать что это новый файл. Но это актуально только на этапе разработки и после обновления, в остальное время это не нужно. Я позаботился о том, чтобы ты мог управлять подключением скриптов, а дальше ты уж как-нибудь сам, хорошо?
Артур Шевченко
26 мая 2025, 23:14
0
Тут похоже мой косяк, забыл системную настройку забрать и просто захардкодил
Артур Шевченко
26 мая 2025, 23:12
0
У каждой системной настройки можно раскрыть описание, почитайте описание для системной настройки с кодом страны.
Александр Туниеков
26 мая 2025, 22:14
0
Обновились на новую версию 2.4.4-pl и я 4 часа разбирался почему все перестало работать. Наполовину mscdek и sendit изучил. Итог изумительный. Перестало работать потому что в браузере скрипты закешировались! И ctrl+shift+r и ctrl+f5 этот кеш не чистят.
Помогла эта галочка

Но клиенты у кого за неделю скрипты закешировались это не поймут.
@Артур Шевченко можешь механизм обновления скриптов mscdek и sendit предусмотреть?
kudesia
26 мая 2025, 22:08
0
Почему
[length] => 1
                    [width] => 1
                    [height] => 1
Если в настройках 30х30х30 системных ms_cdek2_default_size не пойму никак…
kudesia
26 мая 2025, 22:05
0
643 и RU пробовали
**26.05.2025 21:56:31** [MsCdek2Services\ExternalApi\Base::send] Запрос calculator/tariff вернул ошибку: 
Array
(
    [errors] => Array
        (
            [0] => Array
                (
                    [code] => not_available_country_code
                    [additional_code] => 0x84916502
                    [message] => Код страны не поддерживается: 643
                )

        )

)
**26.05.2025 21:56:31** [MsCdek2Services\MsCdek2::getCost] Данные запроса: 
Array
(
    [lang] => rus
    [tariff_code] => 136
    [from_location] => Array
        (
            [postal_code] => 215506
            [country_code] => 643
        )

    [to_location] => Array
        (
            [postal_code] => 101000
            [country_code] => 643
        )

    [services] => Array
        (
        )

    [packages] => Array
        (
            [0] => Array
                (
                    [weight] => 700
                    [length] => 1
                    [width] => 1
                    [height] => 1
                )

        )

)
137 тариф
**26.05.2025 22:12:55** [MsCdek2Services\ExternalApi\Base::send] Запрос calculator/tariff вернул ошибку: 
Array
(
    [errors] => Array
        (
            [0] => Array
                (
                    [code] => not_available_country_code
                    [additional_code] => 0x84916502
                    [message] => Код страны не поддерживается: 643
                )

        )

)

**26.05.2025 22:12:55** [MsCdek2Services\MsCdek2::getCost] Данные запроса: 
Array
(
    [lang] => rus
    [tariff_code] => 137
    [from_location] => Array
        (
            [postal_code] => 215506
            [country_code] => 643
        )

    [to_location] => Array
        (
            [postal_code] => 119331
            [country_code] => 643
        )

    [services] => Array
        (
        )

    [packages] => Array
        (
            [0] => Array
                (
                    [weight] => 700
                    [length] => 1
                    [width] => 1
                    [height] => 1
                )

        )

)
Журнал
public_html/core/components/ms_cdek2/services/custom/MsCdek2.php	256
PHP warning: A non-numeric value encountered
ms_CDEK2
2.4.4-pl
Переустановлено
26-05-2025, 21:58
Артур Шевченко
26 мая 2025, 20:14
0
Что имеется ввиду под инвалидацией кэша?
Николай Савин
26 мая 2025, 13:13
0
Максим, вопросы нужно задавать в разделе вопросы, а не забивать в одно лицо комментами новостную публикацию. Если тебе так проще заведи заметку «Осваиваю MS3 c нуля» и веди там свой блог.
Максим
26 мая 2025, 10:27
0
Вот я и вернулся обратно к MiniShop3. На данный момент застрял на странице корзины. У меня тут сразу размещены сниппеты [[!msCart]] и [[!msOrder]], тем самым выводится и сам список товаров в заказе и форма с данными покупателя. У самих товаров, при изменении их количества, цена меняется (при условии что сниппет обёрнут в div с id msMiniCart, как у миникорзины). Но не меняется общая цена заказа под формой с данными покупателя, там где написано «Итого, с доставкой:». По началу подумал что просто оформление заказа вывести на другую страницу, тем самым, при переходе на неё, у нас уже будет сформированный список товаров и цена уже меняться не будет… но, при оформлении заказа у нас есть radiobutton доставки, где может быть указана сумма этой самой доставки. И при выборе доставки с дополнительной стоимостью, у нас эта стоимость не прибавляется к заказу… Это происходит только после обновления страницы. Может кто-то подсказать, где находится скрипт, который этот самый блок обновляет с итоговой стоимостью? Я, возможно, сам найду, но может кто-то ускорит этот процесс?



И ещё, нужно сбросить содержимое корзины, когда заказ оформлен. Это происходит, но результат можно увидеть только после перезагрузки страницы… а нужно что бы это делалось ajax-ом… Тут, скорее всего, должен быть метод в скрипте, который, как минимум, обновляет страницу, добавляя в url параметр orderid с номером нового заказа. Может кто-то подсказать где этот метод искать?

Если что, ни при выборе типа доставки/оплаты, ни при создании заказа, ошибок не возникает