Алексей
может $modx->runProc ?
Евгений
Как пробовал запустить консоль? крон? ссылка?
это в плагине на сколько я понял
Артур
это в плагине на сколько я понял
Тогда откуда там $this->modx?
Dmitry
да, в плагине стартую
Dmitry
чтобы проверить нагрузку
Dmitry
$test = 3847; $fields['id'] = (int)$test; $fields['class_key'] = 'msProduct'; $fields['context_key'] = 'web'; $response = $modx->runProcessor('resource/update', $fields);
Dmitry
сделал так, при сохранении всё ок, но тестовый этот ресурс не обновился
Dmitry
т.е там не запустилось событие
Dmitry
консоль пуста
Евгений
давайте дальше гадать
Алексей
т.е там не запустилось событие
А в плагине вывод в log чего есть? для мониторинга что запустилось или нет?
Евгений
Алексей
я думаю там секретная информация.
Dmitry
Dmitry
ну ив консоль
Dmitry
т.е в логи
Алексей
как?
Алексей
что выводите?
Алексей
много вопросов - не показываете код
Алексей
$modx->log(1,"METKA"); - это в начало плагина! хотя бы
Артур
ну я вывожу через $modx->error->failure($response->getMessage())
А я вот чего-то не понял. Вам нужно обновлять цену того товара, который в данный момент сохраняется, при условии что у этого товара есть некое тв?
Алексей
Все... Артур втянулся...
Алексей
2й круг пошел.
Алексей
Ну не хочет человек легко сделать. ему сложно нужно.
Алексей
вообще Если в лог не выведет, то значит событие не срабатывает тоже. и значит мы прийдем к тому что нужно сделать проще ))))
Dmitry
А я вот чего-то не понял. Вам нужно обновлять цену того товара, который в данный момент сохраняется, при условии что у этого товара есть некое тв?
не, смотри, есть плагин, который при сохранении запускается событие OnDocFormSave в этом плагине происходит проверка, есть ли у этого товара заполненное тв поле, если есть, то он берет это тв (в этом тв поле id товара) и суммирует эту сумму к себе и сохраняет
Алексей
Алексей
Добрых снов.
Dmitry
вообще Если в лог не выведет, то значит событие не срабатывает тоже. и значит мы прийдем к тому что нужно сделать проще ))))
в логе вот это [success] => [message] => [total] => 43 [errors] => Array ( [0] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [1] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [2] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [3] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [4] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [5] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [6] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [7] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [8] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [9] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [10] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [11] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [12] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [13] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [14] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [15] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [16] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [17] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [18] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. ) [19] => Array ( [id] => alias [msg] => Это поле обязательно для заполнения. )
Алексей
Вы что то делаете... Но мы не в курсе что... Поэтому х.з. что ещё посоветовать, кроме того об что я язык сломал.
Dmitry
Этот плагин срабатывает когда сохраняется товар с id=1, допустим у этого товара ТВ заполнено, тогда цена будет пересчитана, товар сохранён, чего тебе ещё нужно?)))
просто от цены этого товара, который сохраняется, может зависеть цену у другого товара, т.е типа сохрнаить цену этого товара и обновить товары, в которых возможно есть зависимость от этого товара
Евгений
процессор запустился и выдал ошибку
Евгений
нужен alias
Артур
А как ты узнаешь есть зависимые товары или нет?
Евгений
чтобы обновить ресурс, надо получить его поля, изменить нужные и вернуть обратно
Dmitry
а обновляю я эти товары по категории
Артур
по полю tv у товара
По тому же где цена или по другому?
Dmitry
т.е есть спец категория, в которой эти товары есть
Артур
Т.е. есть два ТВ, в одном цены, в другом id связанных товаров, так?
Dmitry
т.е если заполнено определенное тв поле, у товара 1, то берем цену у товара с id которое в этом поле, к примеру товара 2, и берем его цену, меняем цену текущего товара, но т.к от этого текущего товара 1, возможно зависит и цена другого товара 3, то нужно этому товару 3 запустить этот плагин, чтобы произошло всё тоже самое
Евгений
попахивает зацикленостью
Алексей
Замыкающая функция...
Артур
попахивает зацикленостью
Возможно на каком-то этапе зависимые товары закончатся...
Евгений
Замыкающая функция...
замыкающая мозг
Алексей
Ладно развлекаетесь )))
Евгений
я надеюсь это не тот самый Димас
Алексей
Я сломлен
Алексей
Напишите, Дмитрий, универсальную функцию вызова ресурса, передайте ей нужные параметры, сделайте дела в ней. А циклом вызывайте все зависимые id. И к каждой применяйте эту универсальную функцию. Функцию необходимо инициировать 1 раз (прописать условие). Как то так.
Dmitry
попахивает зацикленостью
не, там так не может быт, т.к 1 товар может быть в зависимости, ну максимум 2
Артур
не, там так не может быт, т.к 1 товар может быть в зависимости, ну максимум 2
А те два зависят ещё от двух и какой-то из тех двух зависит от первого, вот круг и замкнулся)))
Dmitry
всем спасибо, немного активности перед сном иногда хорошо, спать крепче будешь)🙏
Dmitry
А те два зависят ещё от двух и какой-то из тех двух зависит от первого, вот круг и замкнулся)))
ну типа того, но там зацикленности точно не будет, не так уже всё запущено по товарам
Roman 🚀
Ребзя, привет! Как принудительно перезагрузить страницу менеджера после сохранения ресурса?
Roman 🚀
location.reload может ?
Мне надо не каждый раз, а только если после работы плагина изменилось поле, а поле я не увижу пока не обновлю страницу(
Roman 🚀
Поэтому хочется дернуть релоад прямо внутри плагина
Олег
Парни привет, есть у minishop 2 событие на изменние price? не это msOnGetProductPrice случайно?
Евгений
Поэтому хочется дернуть релоад прямо внутри плагина
ну так в плагине прям $modx->controller->addHtml('<script>Ext.onReady(function() {' . $script . '});</script>');
Евгений
это гдет увидел
Roman 🚀
Подходит, спасибо