Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #3
Отправить деньги
08 февраля 2021, 15:53
-1
Я с этим компонентом не работал, но вот тут написано, что есть события для плагинов, скорее всего вам нужно это xParserOnBeforeTaskActions, но это не точно и вот в нём надо вытащить данные для перевода, передать их по api в переводчик, получить перевод и сохранить уже переведенный текст. НО мне кажется это будет слишком долго. Поэтому лучше написать сниппет, который будет оправлять данные для перевода по api, и сохранять полученный перевод. А запускать его можно через консоль или по крону.
08 февраля 2021, 15:24
-1
Всё просто, берешь api для перевода, при парсинге отправляешь контент на перевод, потом сохраняешь. А готовых решений нет.
07 февраля 2021, 02:53
-1
Выбирается где? На фронте в той же форма где ваш price? Вы в консоли браузера посмотрите на вкладке network запрос к action.php там все данные которые в этот момент уходят на сервер, если там есть то что нужно, значит оно есть в двух из трёх массивов л которых я писала выше.
07 февраля 2021, 02:27
-1
Если событие срабатывает после отправки формы, то значения всех инпутов из этой формы находятся либо в глобальном массиве $_POST, либо в глобальном массиве $_GET, и в глобальном массиве $_REQUEST. Если значение в этом массиве не соответствует ожидаемому, значит оно было перезаписано, нужно поменять ключ не price, а например myprice. Поскольку это глобальные массивы они доступны и в плагине тоже. Других вариантов получить инпут не существует.
07 февраля 2021, 02:22
-1
Вы пробовали делать так
$values = $modx->event->returnedValues;
$values['price'] = $_POST['price'];
$modx->event->returnedValues = $values;
?
07 февраля 2021, 01:01
-1
Но в документации не так, рекомендую попробовать как там, т.е. не по ссылке.
07 февраля 2021, 00:28
-1
Ну это скрипт, который срабатывает при определенном событии, зачастую туда инициализирующих скрипт передает какие-то данные, иногда чтобы изменить данные в плагине нужно получить их по ссылке. Чтобы лучше понять какие данные приходят в плагин полезно посмотреть исходный код класса. И самое первое, что вы должны были сделать заглянуть в документацию там есть пример плагина. Так что конкретно не получается? Вернуть новые значения? А у вас вот эта строка есть
$modx->event->returnedValues = $values;
07 февраля 2021, 00:04
-1
Через POST не получается получить значение поля 'price'
А вы почему так решили?
06 февраля 2021, 23:50
-1
На какое событие плагин и что вы вообще хотите сделать?
06 февраля 2021, 14:53
-1
$_POST['fieldname'], а data-атрибуты, если вы их имеете в виду, на сервер не передаются.
06 февраля 2021, 13:20
-1
Сделайте так
formatPrice: function (price) {
            return price;
        },
06 февраля 2021, 13:04
-1
Закомментируйте этот кусок кода посмотрите, что будет.
formatPrice: function (price) {
            var pf = miniShop2Config.price_format;
            price = this.number_format(price, pf[0], pf[1], pf[2]);

            if (miniShop2Config.price_format_no_zeros && pf[0] > 0) {
                price = price.replace(/(0+)$/, '');
                price = price.replace(/[^0-9]$/, '');
            }

            return price;
        },
06 февраля 2021, 11:55
-1
А немного подробнее можно, мне тоже интересно?
05 февраля 2021, 23:56
0
выставил тип decimal(12,3) и в настройках прописал формат.
Сделали? Кроме исправления getlist.class.php
05 февраля 2021, 19:44
-1
Есть вариант что этот колбэк перезаписывается дополнением другим. У меня его msMinCartDynamic перезаписывает.
05 февраля 2021, 17:43
-1
1. Создать assets/components/minishop2/js/web/custom.js
2. Скопировать содержимое из assets/components/minishop2/js/web/default.js
3. Вставить в конце
miniShop2.Callbacks.Cart.add.response.success = function() {    
    $( "#shopModal" ).show();    
    $('.close').click(function(){
           $('#shopModal').hide();
        });    
    $(document).click(function(event) {
        if ($(event.target).closest(".modal-dialog").length) return;
        $("#shopModal").hide("slow");
        event.stopPropagation();
      });
    }
4. Установить системную настройку ms2_frontend_js в значение [[+jsUrl]]web/custom.js
5. Радоваться.
05 февраля 2021, 17:04
-1
Напишите свой сниппет.
05 февраля 2021, 16:55
-1
Понятно, если структуру оставлять такую, то тогда не получится использовать модификации, а если использовать модификации, то надо менять структуру. Другими словами если использовать модификации, то Диван это товар, ткань это опция, причём тканей должно быть столько сколько есть комбинаций ткань+категория ткани, что скорее всего будет неудобно администрировать. Поэтому надо писать свою логику. Я бы связал диван и ткани через Связи дальше написал бы js который формировал как бы комплект товаров и при добавлении в корзину в плагине менял стоимость.
05 февраля 2021, 14:42
-1
И у одной ткани — товара — может быть до 8 значений в опции Категория ткани, так?