首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在哪里可以为失败的购买设定目标步骤?

我在哪里可以为失败的购买设定目标步骤?
EN

Stack Overflow用户
提问于 2015-10-19 09:15:48
回答 2查看 108关注 0票数 1

我正在使用自定义结帐方案,其中不包含步骤“支付”。然而,当购买步骤失败时,它试图重定向到付款。我在哪里可以改变这种行为?谢谢。

更新:

ChceckoutProcessScenario.php

代码语言:javascript
复制
class CheckoutProcessScenario implements ProcessScenarioInterface
{
  public function build(ProcessBuilderInterface $builder)
  {
    $cart = $this->getCurrentCart();

    $builder
        ->add('security', 'sylius_checkout_security')
        ->add('delivery', new Step\DeliveryStep())
        ->add('finalize', 'sylius_checkout_finalize')
        ->add('purchase', 'sylius_checkout_purchase')
    ;

    $builder
        ->setDisplayRoute('sylius_checkout_display')
        ->setForwardRoute('sylius_checkout_forward')
        ->setRedirect('sylius_homepage')
        ->validate(function () use ($cart) {
            return !$cart->isEmpty();
        })
    ;
  }
  ...
}

app/config/config.yml

代码语言:javascript
复制
sylius.checkout.step.delivery.template: '@CoreBundle/Resources/views/Frontend/Checkout/Step/delivery.html.twig'
sylius.checkout_scenario.class: ZDG\CoreBundle\Checkout\CheckoutProcessScenario

然后是checkoutStep,但是这些只是修改过的文件。我研究过state-machine.yml,但它只定义了订单和付款状态,我不想修改这些状态。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-20 08:32:38

因此,解决方案是les :在pruchase步骤中触发了一个事件(sylius.checkout.purchase.complete),它有一个列表器根据支付状态返回响应。如果状态未完成,则从容器中获取一个参数并重定向到提供的url。这个url是用sylius/sylius/src/Sylius/Bundle/CoreBundle/Resources/config/services.xml:324硬编码的。

票数 1
EN

Stack Overflow用户

发布于 2015-10-19 09:55:18

如果您实现了实现ProcessScenarioInterface的自定义类

还有可能影响重定向的状态机配置。您将不得不配置,在每个状态更改后的顺序要做什么。

看一看Sylius\CoreBundle\Resources\config\state-machine.yml

为了更好地理解https://github.com/Sylius/Sylius/wiki/Status,您也可以检查这个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33210720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档