Как программно запустить построитель потока в магазине 6Php

Кемеровские программисты php общаются здесь
Anonymous
Как программно запустить построитель потока в магазине 6

Сообщение Anonymous »

Я реализовал поток, который должен запускаться в зависимости от изменения статуса доставки.
в этом потоке у меня есть условие, которое отражает «заказ с тегом» является одним «тега, который я создал, например теггер»
Затем я написал команду для маркировки заказов, статус доставки которых указан как отгруженный в течение определенного периода времени р>

Код: Выделить всё

$criteria = new Criteria();
$criteria->addAssociation('deliveries.stateMachineState');
$criteria->addAssociation('orderCustomer');
$criteria->addFilter(new EqualsFilter('deliveries.stateMachineState.technicalName', 'Shipped'));

$oneWeekAgo = new \DateTime('-1 days');
$criteria->addFilter(new RangeFilter('orderDateTime', [
RangeFilter::GTE => $oneWeekAgo->format(DATE_ATOM)
]));

//my tag method

private function tagOrder(Context $context, string $orderId, string $tagId): void
{
$this->orderRepository->update([
[
'id' => $orderId,
'tags' => [
['id' => $tagId]
]
]
], $context);
}

// and then called

$this->tagOrder($context, $order->getId(), $tagId);
код работает так, как ожидалось, помечая нужные мне заказы.
Но я заметил это из-за триггера из потока, который установлен на "статус достигнут/доставка заказа/статус/отправлен
который затем отправляет письмо о доставке (очень важно)
Неудивительно, что поток выполняется только тогда, когда изменяется статус доставки.
Как я могу заставить тот же поток или поток любого типа запускаться программно после того, как я закончу помечать свои заказы.< /p>
имейте в виду, что доставка почты должна быть отправлена ​​при запуске потока или потока любого типа.
Я также слышал об исполнителе потока , но как это можно использовать?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/787 ... -shopware6

Вернуться в «Php»